summaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/DocumentsUI/res/values-sw720dp/styles.xml1
-rw-r--r--packages/ExternalStorageProvider/AndroidManifest.xml8
-rw-r--r--packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java161
-rw-r--r--packages/ExternalStorageProvider/src/com/android/externalstorage/MountReceiver.java35
-rw-r--r--packages/FusedLocation/res/values-am/strings.xml2
-rw-r--r--packages/FusedLocation/res/values-fr/strings.xml2
-rw-r--r--packages/FusedLocation/res/values-lt/strings.xml2
-rw-r--r--packages/FusedLocation/res/values-pt-rPT/strings.xml2
-rw-r--r--packages/FusedLocation/res/values-zh-rCN/strings.xml2
-rw-r--r--packages/InputDevices/res/values-af/strings.xml2
-rw-r--r--packages/InputDevices/res/values-am/strings.xml24
-rw-r--r--packages/InputDevices/res/values-da/strings.xml6
-rw-r--r--packages/InputDevices/res/values-el/strings.xml16
-rw-r--r--packages/InputDevices/res/values-fr/strings.xml2
-rw-r--r--packages/InputDevices/res/values-hr/strings.xml2
-rw-r--r--packages/InputDevices/res/values-hy-rAM/strings.xml2
-rw-r--r--packages/InputDevices/res/values-ka-rGE/strings.xml6
-rw-r--r--packages/InputDevices/res/values-lt/strings.xml2
-rw-r--r--packages/InputDevices/res/values-ms-rMY/strings.xml2
-rw-r--r--packages/InputDevices/res/values-ro/strings.xml62
-rw-r--r--packages/InputDevices/res/values-ru/strings.xml20
-rw-r--r--packages/InputDevices/res/values-sr/strings.xml62
-rw-r--r--packages/InputDevices/res/values-sw/strings.xml2
-rw-r--r--packages/InputDevices/res/values-tr/strings.xml2
-rw-r--r--packages/InputDevices/res/values-zh-rCN/strings.xml10
-rw-r--r--packages/Keyguard/res/layout-land/keyguard_host_view.xml2
-rw-r--r--packages/Keyguard/res/layout-port/keyguard_host_view.xml5
-rw-r--r--packages/Keyguard/res/layout-sw600dp-port/keyguard_host_view.xml2
-rw-r--r--packages/Keyguard/res/values-mcc262-mnc08/bools.xml21
-rw-r--r--packages/Keyguard/res/values-mcc262-mnc11/bools.xml21
-rw-r--r--packages/Keyguard/src/com/android/keyguard/KeyguardService.java4
-rw-r--r--packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java30
-rw-r--r--packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java5
-rw-r--r--packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java14
-rw-r--r--packages/Keyguard/src/com/android/keyguard/KeyguardViewMediator.java7
-rw-r--r--packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java8
-rw-r--r--packages/Keyguard/src/com/android/keyguard/PagedView.java82
-rw-r--r--packages/PrintSpooler/res/drawable-hdpi/ic_menu_print.pngbin0 -> 1133 bytes
-rw-r--r--packages/PrintSpooler/res/drawable-mdpi/ic_menu_print.pngbin0 -> 930 bytes
-rw-r--r--packages/PrintSpooler/res/drawable-xhdpi/ic_menu_print.pngbin0 -> 1387 bytes
-rw-r--r--packages/PrintSpooler/res/layout/print_job_config_activity_content_editing.xml2
-rw-r--r--packages/PrintSpooler/res/layout/printer_dropdown_item.xml16
-rw-r--r--packages/PrintSpooler/res/layout/printer_list_item.xml71
-rw-r--r--packages/PrintSpooler/res/layout/select_printer_fragment.xml26
-rw-r--r--packages/PrintSpooler/res/values-af/strings.xml10
-rw-r--r--packages/PrintSpooler/res/values-am/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-ar/strings.xml10
-rw-r--r--packages/PrintSpooler/res/values-be/arrays.xml33
-rw-r--r--packages/PrintSpooler/res/values-bg/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-ca/arrays.xml33
-rw-r--r--packages/PrintSpooler/res/values-ca/strings.xml8
-rw-r--r--packages/PrintSpooler/res/values-cs/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-da/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-de/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-el/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-en-rGB/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-en-rIN/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-es-rUS/arrays.xml33
-rw-r--r--packages/PrintSpooler/res/values-es-rUS/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-es/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-et-rEE/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-fa/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-fi/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-fr-rCA/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-fr/strings.xml10
-rw-r--r--packages/PrintSpooler/res/values-hi/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-hr/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-hu/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-hy-rAM/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-in/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-it/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-iw/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-ja/arrays.xml42
-rw-r--r--packages/PrintSpooler/res/values-ja/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-ka-rGE/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-km-rKH/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-ko/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-land/constants.xml22
-rw-r--r--packages/PrintSpooler/res/values-lo-rLA/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-lt/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-lv/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-mn-rMN/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-ms-rMY/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-nb/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-nl/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-pl/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-pt-rPT/strings.xml10
-rw-r--r--packages/PrintSpooler/res/values-pt/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-ro/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-ru/strings.xml16
-rw-r--r--packages/PrintSpooler/res/values-sk/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-sl/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-sr/strings.xml14
-rw-r--r--packages/PrintSpooler/res/values-sv/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-sw/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-th/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-tl/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-tr/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-uk/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values-vi/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-zh-rCN/arrays.xml37
-rw-r--r--packages/PrintSpooler/res/values-zh-rCN/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-zh-rHK/strings.xml12
-rw-r--r--packages/PrintSpooler/res/values-zh-rTW/strings.xml14
-rw-r--r--packages/PrintSpooler/res/values-zu/strings.xml6
-rw-r--r--packages/PrintSpooler/res/values/constants.xml5
-rw-r--r--packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java109
-rw-r--r--packages/PrintSpooler/src/com/android/printspooler/SelectPrinterFragment.java62
-rw-r--r--packages/SettingsProvider/AndroidManifest.xml2
-rw-r--r--packages/SettingsProvider/res/drawable-hdpi/ic_launcher_settings.pngbin7230 -> 0 bytes
-rw-r--r--packages/SettingsProvider/res/drawable-mdpi/ic_launcher_settings.pngbin4122 -> 0 bytes
-rw-r--r--packages/SettingsProvider/res/drawable-xhdpi/ic_launcher_settings.pngbin11183 -> 0 bytes
-rw-r--r--packages/SettingsProvider/res/mipmap-hdpi/ic_launcher_settings.pngbin0 -> 8822 bytes
-rw-r--r--packages/SettingsProvider/res/mipmap-mdpi/ic_launcher_settings.pngbin0 -> 5362 bytes
-rw-r--r--packages/SettingsProvider/res/mipmap-xhdpi/ic_launcher_settings.pngbin0 -> 12096 bytes
-rw-r--r--packages/SettingsProvider/res/mipmap-xxhdpi/ic_launcher_settings.pngbin0 -> 20300 bytes
-rw-r--r--packages/SettingsProvider/res/mipmap-xxxhdpi/ic_launcher_settings.pngbin0 -> 27997 bytes
-rw-r--r--packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java11
-rw-r--r--packages/SystemUI/AndroidManifest.xml4
-rw-r--r--packages/SystemUI/res/drawable-hdpi/ic_qs_signal_full_1.pngbin1219 -> 1043 bytes
-rw-r--r--packages/SystemUI/res/drawable-hdpi/ic_qs_signal_full_2.pngbin1262 -> 1052 bytes
-rw-r--r--packages/SystemUI/res/drawable-hdpi/ic_qs_signal_full_3.pngbin1117 -> 1050 bytes
-rw-r--r--packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_0.pngbin1913 -> 1917 bytes
-rw-r--r--packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_1.pngbin2248 -> 2037 bytes
-rw-r--r--packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_2.pngbin2215 -> 2050 bytes
-rw-r--r--packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_3.pngbin2217 -> 2127 bytes
-rw-r--r--packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_4.pngbin1695 -> 1736 bytes
-rw-r--r--packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_not_connected.pngbin1913 -> 1917 bytes
-rw-r--r--packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_signal_0.pngbin1013 -> 1010 bytes
-rw-r--r--packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_signal_full_0.pngbin978 -> 1010 bytes
-rw-r--r--packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_signal_full_2.pngbin1069 -> 1061 bytes
-rw-r--r--packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_signal_0.pngbin826 -> 826 bytes
-rw-r--r--packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_signal_full_0.pngbin790 -> 826 bytes
-rw-r--r--packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_signal_full_2.pngbin888 -> 888 bytes
-rw-r--r--packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_signal_0.pngbin1256 -> 1253 bytes
-rw-r--r--packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_signal_full_0.pngbin1221 -> 1253 bytes
-rw-r--r--packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_signal_full_2.pngbin1307 -> 1300 bytes
-rw-r--r--packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_signal_0.pngbin1645 -> 1643 bytes
-rw-r--r--packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_signal_full_0.pngbin3437 -> 1638 bytes
-rw-r--r--packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_signal_full_2.pngbin1628 -> 1622 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_qs_signal_full_1.pngbin944 -> 874 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_qs_signal_full_2.pngbin922 -> 889 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_qs_signal_full_3.pngbin919 -> 878 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_0.pngbin1225 -> 1226 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_1.pngbin1387 -> 1329 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_2.pngbin1422 -> 1382 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_3.pngbin1436 -> 1430 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_4.pngbin1144 -> 1184 bytes
-rw-r--r--packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_not_connected.pngbin1225 -> 1226 bytes
-rw-r--r--packages/SystemUI/res/drawable-xhdpi/ic_qs_signal_full_1.pngbin1718 -> 1285 bytes
-rw-r--r--packages/SystemUI/res/drawable-xhdpi/ic_qs_signal_full_2.pngbin1621 -> 1297 bytes
-rw-r--r--packages/SystemUI/res/drawable-xhdpi/ic_qs_signal_full_3.pngbin1437 -> 1296 bytes
-rw-r--r--packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_0.pngbin2607 -> 2613 bytes
-rw-r--r--packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_1.pngbin3280 -> 2766 bytes
-rw-r--r--packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_2.pngbin3247 -> 2828 bytes
-rw-r--r--packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_3.pngbin3123 -> 2936 bytes
-rw-r--r--packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_4.pngbin2352 -> 2391 bytes
-rw-r--r--packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_not_connected.pngbin2607 -> 2613 bytes
-rw-r--r--packages/SystemUI/res/drawable-xxhdpi/ic_qs_signal_full_1.pngbin2057 -> 1652 bytes
-rw-r--r--packages/SystemUI/res/drawable-xxhdpi/ic_qs_signal_full_2.pngbin1939 -> 1621 bytes
-rw-r--r--packages/SystemUI/res/drawable-xxhdpi/ic_qs_signal_full_3.pngbin1752 -> 1625 bytes
-rw-r--r--packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_0.pngbin3355 -> 3367 bytes
-rw-r--r--packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_1.pngbin3331 -> 3401 bytes
-rw-r--r--packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_2.pngbin3235 -> 3334 bytes
-rw-r--r--packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_3.pngbin3039 -> 3242 bytes
-rw-r--r--packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_4.pngbin2565 -> 3086 bytes
-rw-r--r--packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_not_connected.pngbin3382 -> 3392 bytes
-rw-r--r--packages/SystemUI/res/values-ca/strings.xml2
-rw-r--r--packages/SystemUI/res/values-hi/strings.xml8
-rw-r--r--packages/SystemUI/res/values-mcc262-mnc08/config.xml26
-rw-r--r--packages/SystemUI/res/values-mcc262-mnc11/config.xml26
-rwxr-xr-xpackages/SystemUI/src/com/android/systemui/BatteryMeterView.java13
-rw-r--r--packages/SystemUI/src/com/android/systemui/DessertCaseView.java27
-rw-r--r--packages/SystemUI/src/com/android/systemui/ImageWallpaper.java1
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java9
-rw-r--r--packages/WallpaperCropper/src/com/android/photos/views/TiledImageView.java2
-rw-r--r--packages/WallpaperCropper/src/com/android/wallpapercropper/CropView.java107
-rw-r--r--packages/WallpaperCropper/src/com/android/wallpapercropper/WallpaperCropActivity.java184
178 files changed, 1423 insertions, 652 deletions
diff --git a/packages/DocumentsUI/res/values-sw720dp/styles.xml b/packages/DocumentsUI/res/values-sw720dp/styles.xml
index a581e08..19d2ebe 100644
--- a/packages/DocumentsUI/res/values-sw720dp/styles.xml
+++ b/packages/DocumentsUI/res/values-sw720dp/styles.xml
@@ -20,5 +20,6 @@
<item name="android:windowBackground">@*android:drawable/dialog_full_holo_light</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowIsTranslucent">true</item>
+ <item name="android:windowAnimationStyle">@*android:style/Animation.Holo.Dialog</item>
</style>
</resources>
diff --git a/packages/ExternalStorageProvider/AndroidManifest.xml b/packages/ExternalStorageProvider/AndroidManifest.xml
index 99a4260..5169fef 100644
--- a/packages/ExternalStorageProvider/AndroidManifest.xml
+++ b/packages/ExternalStorageProvider/AndroidManifest.xml
@@ -16,6 +16,14 @@
</intent-filter>
</provider>
+ <receiver android:name=".MountReceiver">
+ <intent-filter>
+ <action android:name="android.intent.action.MEDIA_MOUNTED" />
+ <action android:name="android.intent.action.MEDIA_UNMOUNTED" />
+ <data android:scheme="file" />
+ </intent-filter>
+ </receiver>
+
<!-- TODO: find a better place for tests to live -->
<provider
android:name=".TestDocumentsProvider"
diff --git a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
index 189e985..d42354f 100644
--- a/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
+++ b/packages/ExternalStorageProvider/src/com/android/externalstorage/ExternalStorageProvider.java
@@ -16,20 +16,25 @@
package com.android.externalstorage;
+import android.content.Context;
import android.content.res.AssetFileDescriptor;
import android.database.Cursor;
import android.database.MatrixCursor;
import android.database.MatrixCursor.RowBuilder;
import android.graphics.Point;
-import android.media.ExifInterface;
import android.os.CancellationSignal;
import android.os.Environment;
import android.os.ParcelFileDescriptor;
+import android.os.storage.StorageManager;
+import android.os.storage.StorageVolume;
+import android.provider.DocumentsContract;
import android.provider.DocumentsContract.Document;
import android.provider.DocumentsContract.Root;
import android.provider.DocumentsProvider;
+import android.util.Log;
import android.webkit.MimeTypeMap;
+import com.android.internal.annotations.GuardedBy;
import com.google.android.collect.Lists;
import com.google.android.collect.Maps;
@@ -44,6 +49,8 @@ import java.util.Map;
public class ExternalStorageProvider extends DocumentsProvider {
private static final String TAG = "ExternalStorage";
+ public static final String AUTHORITY = "com.android.externalstorage.documents";
+
// docId format: root:path/to/file
private static final String[] DEFAULT_ROOT_PROJECTION = new String[] {
@@ -63,42 +70,91 @@ public class ExternalStorageProvider extends DocumentsProvider {
public String docId;
}
+ private static final String ROOT_ID_PRIMARY_EMULATED = "primary";
+
+ private StorageManager mStorageManager;
+
+ private final Object mRootsLock = new Object();
+
+ @GuardedBy("mRootsLock")
private ArrayList<RootInfo> mRoots;
+ @GuardedBy("mRootsLock")
private HashMap<String, RootInfo> mIdToRoot;
+ @GuardedBy("mRootsLock")
private HashMap<String, File> mIdToPath;
@Override
public boolean onCreate() {
+ mStorageManager = (StorageManager) getContext().getSystemService(Context.STORAGE_SERVICE);
+
mRoots = Lists.newArrayList();
mIdToRoot = Maps.newHashMap();
mIdToPath = Maps.newHashMap();
- // TODO: support multiple storage devices, requiring that volume serial
- // number be burned into rootId so we can identify files from different
- // volumes. currently we only use a static rootId for emulated storage,
- // since that storage never changes.
- if (!Environment.isExternalStorageEmulated()) return true;
-
- try {
- final String rootId = "primary";
- final File path = Environment.getExternalStorageDirectory();
- mIdToPath.put(rootId, path);
-
- final RootInfo root = new RootInfo();
- root.rootId = rootId;
- root.flags = Root.FLAG_SUPPORTS_CREATE | Root.FLAG_LOCAL_ONLY | Root.FLAG_ADVANCED
- | Root.FLAG_SUPPORTS_SEARCH;
- root.title = getContext().getString(R.string.root_internal_storage);
- root.docId = getDocIdForFile(path);
- mRoots.add(root);
- mIdToRoot.put(rootId, root);
- } catch (FileNotFoundException e) {
- throw new IllegalStateException(e);
- }
+ updateVolumes();
return true;
}
+ public void updateVolumes() {
+ synchronized (mRootsLock) {
+ updateVolumesLocked();
+ }
+ }
+
+ private void updateVolumesLocked() {
+ mRoots.clear();
+ mIdToPath.clear();
+ mIdToRoot.clear();
+
+ final StorageVolume[] volumes = mStorageManager.getVolumeList();
+ for (StorageVolume volume : volumes) {
+ final boolean mounted = Environment.MEDIA_MOUNTED.equals(volume.getState())
+ || Environment.MEDIA_MOUNTED_READ_ONLY.equals(volume.getState());
+ if (!mounted) continue;
+
+ final String rootId;
+ if (volume.isPrimary() && volume.isEmulated()) {
+ rootId = ROOT_ID_PRIMARY_EMULATED;
+ } else if (volume.getUuid() != null) {
+ rootId = volume.getUuid();
+ } else {
+ Log.d(TAG, "Missing UUID for " + volume.getPath() + "; skipping");
+ continue;
+ }
+
+ if (mIdToPath.containsKey(rootId)) {
+ Log.w(TAG, "Duplicate UUID " + rootId + "; skipping");
+ continue;
+ }
+
+ try {
+ final File path = volume.getPathFile();
+ mIdToPath.put(rootId, path);
+
+ final RootInfo root = new RootInfo();
+ root.rootId = rootId;
+ root.flags = Root.FLAG_SUPPORTS_CREATE | Root.FLAG_LOCAL_ONLY | Root.FLAG_ADVANCED
+ | Root.FLAG_SUPPORTS_SEARCH;
+ if (ROOT_ID_PRIMARY_EMULATED.equals(rootId)) {
+ root.title = getContext().getString(R.string.root_internal_storage);
+ } else {
+ root.title = volume.getUserLabel();
+ }
+ root.docId = getDocIdForFile(path);
+ mRoots.add(root);
+ mIdToRoot.put(rootId, root);
+ } catch (FileNotFoundException e) {
+ throw new IllegalStateException(e);
+ }
+ }
+
+ Log.d(TAG, "After updating volumes, found " + mRoots.size() + " active roots");
+
+ getContext().getContentResolver()
+ .notifyChange(DocumentsContract.buildRootsUri(AUTHORITY), null, false);
+ }
+
private static String[] resolveRootProjection(String[] projection) {
return projection != null ? projection : DEFAULT_ROOT_PROJECTION;
}
@@ -112,11 +168,13 @@ public class ExternalStorageProvider extends DocumentsProvider {
// Find the most-specific root path
Map.Entry<String, File> mostSpecific = null;
- for (Map.Entry<String, File> root : mIdToPath.entrySet()) {
- final String rootPath = root.getValue().getPath();
- if (path.startsWith(rootPath) && (mostSpecific == null
- || rootPath.length() > mostSpecific.getValue().getPath().length())) {
- mostSpecific = root;
+ synchronized (mRootsLock) {
+ for (Map.Entry<String, File> root : mIdToPath.entrySet()) {
+ final String rootPath = root.getValue().getPath();
+ if (path.startsWith(rootPath) && (mostSpecific == null
+ || rootPath.length() > mostSpecific.getValue().getPath().length())) {
+ mostSpecific = root;
+ }
}
}
@@ -142,7 +200,10 @@ public class ExternalStorageProvider extends DocumentsProvider {
final String tag = docId.substring(0, splitIndex);
final String path = docId.substring(splitIndex + 1);
- File target = mIdToPath.get(tag);
+ File target;
+ synchronized (mRootsLock) {
+ target = mIdToPath.get(tag);
+ }
if (target == null) {
throw new FileNotFoundException("No root for " + tag);
}
@@ -198,16 +259,18 @@ public class ExternalStorageProvider extends DocumentsProvider {
@Override
public Cursor queryRoots(String[] projection) throws FileNotFoundException {
final MatrixCursor result = new MatrixCursor(resolveRootProjection(projection));
- for (String rootId : mIdToPath.keySet()) {
- final RootInfo root = mIdToRoot.get(rootId);
- final File path = mIdToPath.get(rootId);
-
- final RowBuilder row = result.newRow();
- row.add(Root.COLUMN_ROOT_ID, root.rootId);
- row.add(Root.COLUMN_FLAGS, root.flags);
- row.add(Root.COLUMN_TITLE, root.title);
- row.add(Root.COLUMN_DOCUMENT_ID, root.docId);
- row.add(Root.COLUMN_AVAILABLE_BYTES, path.getFreeSpace());
+ synchronized (mRootsLock) {
+ for (String rootId : mIdToPath.keySet()) {
+ final RootInfo root = mIdToRoot.get(rootId);
+ final File path = mIdToPath.get(rootId);
+
+ final RowBuilder row = result.newRow();
+ row.add(Root.COLUMN_ROOT_ID, root.rootId);
+ row.add(Root.COLUMN_FLAGS, root.flags);
+ row.add(Root.COLUMN_TITLE, root.title);
+ row.add(Root.COLUMN_DOCUMENT_ID, root.docId);
+ row.add(Root.COLUMN_AVAILABLE_BYTES, path.getFreeSpace());
+ }
}
return result;
}
@@ -276,7 +339,11 @@ public class ExternalStorageProvider extends DocumentsProvider {
public Cursor querySearchDocuments(String rootId, String query, String[] projection)
throws FileNotFoundException {
final MatrixCursor result = new MatrixCursor(resolveDocumentProjection(projection));
- final File parent = mIdToPath.get(rootId);
+
+ final File parent;
+ synchronized (mRootsLock) {
+ parent = mIdToPath.get(rootId);
+ }
final LinkedList<File> pending = new LinkedList<File>();
pending.add(parent);
@@ -313,19 +380,7 @@ public class ExternalStorageProvider extends DocumentsProvider {
String documentId, Point sizeHint, CancellationSignal signal)
throws FileNotFoundException {
final File file = getFileForDocId(documentId);
- final ParcelFileDescriptor pfd = ParcelFileDescriptor.open(
- file, ParcelFileDescriptor.MODE_READ_ONLY);
-
- try {
- final ExifInterface exif = new ExifInterface(file.getAbsolutePath());
- final long[] thumb = exif.getThumbnailRange();
- if (thumb != null) {
- return new AssetFileDescriptor(pfd, thumb[0], thumb[1]);
- }
- } catch (IOException e) {
- }
-
- return new AssetFileDescriptor(pfd, 0, AssetFileDescriptor.UNKNOWN_LENGTH);
+ return DocumentsContract.openImageThumbnail(file);
}
private static String getTypeForFile(File file) {
diff --git a/packages/ExternalStorageProvider/src/com/android/externalstorage/MountReceiver.java b/packages/ExternalStorageProvider/src/com/android/externalstorage/MountReceiver.java
new file mode 100644
index 0000000..8a6c7d6
--- /dev/null
+++ b/packages/ExternalStorageProvider/src/com/android/externalstorage/MountReceiver.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.externalstorage;
+
+import android.content.BroadcastReceiver;
+import android.content.ContentProviderClient;
+import android.content.Context;
+import android.content.Intent;
+
+public class MountReceiver extends BroadcastReceiver {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ final ContentProviderClient client = context.getContentResolver()
+ .acquireContentProviderClient(ExternalStorageProvider.AUTHORITY);
+ try {
+ ((ExternalStorageProvider) client.getLocalContentProvider()).updateVolumes();
+ } finally {
+ ContentProviderClient.releaseQuietly(client);
+ }
+ }
+}
diff --git a/packages/FusedLocation/res/values-am/strings.xml b/packages/FusedLocation/res/values-am/strings.xml
index 9c4d9d5..0d2cccc 100644
--- a/packages/FusedLocation/res/values-am/strings.xml
+++ b/packages/FusedLocation/res/values-am/strings.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="5379477904423203699">"ፍዩዥን አካባቢ"</string>
+ <string name="app_label" msgid="5379477904423203699">"Fused Location"</string>
</resources>
diff --git a/packages/FusedLocation/res/values-fr/strings.xml b/packages/FusedLocation/res/values-fr/strings.xml
index 8604c39..0d2cccc 100644
--- a/packages/FusedLocation/res/values-fr/strings.xml
+++ b/packages/FusedLocation/res/values-fr/strings.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="5379477904423203699">"Localisation via les tables de fusion"</string>
+ <string name="app_label" msgid="5379477904423203699">"Fused Location"</string>
</resources>
diff --git a/packages/FusedLocation/res/values-lt/strings.xml b/packages/FusedLocation/res/values-lt/strings.xml
index 245c0b0..0d2cccc 100644
--- a/packages/FusedLocation/res/values-lt/strings.xml
+++ b/packages/FusedLocation/res/values-lt/strings.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="5379477904423203699">"Suderinta vietovė"</string>
+ <string name="app_label" msgid="5379477904423203699">"Fused Location"</string>
</resources>
diff --git a/packages/FusedLocation/res/values-pt-rPT/strings.xml b/packages/FusedLocation/res/values-pt-rPT/strings.xml
index 0d2cccc..2707fa9 100644
--- a/packages/FusedLocation/res/values-pt-rPT/strings.xml
+++ b/packages/FusedLocation/res/values-pt-rPT/strings.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="5379477904423203699">"Fused Location"</string>
+ <string name="app_label" msgid="5379477904423203699">"Localização Fundida"</string>
</resources>
diff --git a/packages/FusedLocation/res/values-zh-rCN/strings.xml b/packages/FusedLocation/res/values-zh-rCN/strings.xml
index 0d2cccc..e6d7bc1 100644
--- a/packages/FusedLocation/res/values-zh-rCN/strings.xml
+++ b/packages/FusedLocation/res/values-zh-rCN/strings.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="5379477904423203699">"Fused Location"</string>
+ <string name="app_label" msgid="5379477904423203699">"一体化位置信息"</string>
</resources>
diff --git a/packages/InputDevices/res/values-af/strings.xml b/packages/InputDevices/res/values-af/strings.xml
index 748bae0..13fcbb4 100644
--- a/packages/InputDevices/res/values-af/strings.xml
+++ b/packages/InputDevices/res/values-af/strings.xml
@@ -23,7 +23,7 @@
<string name="keyboard_layout_norwegian" msgid="9090097917011040937">"Noors"</string>
<string name="keyboard_layout_swedish" msgid="732959109088479351">"Sweeds"</string>
<string name="keyboard_layout_finnish" msgid="5585659438924315466">"Fins"</string>
- <string name="keyboard_layout_croatian" msgid="4172229471079281138">"Kroasies"</string>
+ <string name="keyboard_layout_croatian" msgid="4172229471079281138">"Kroaties"</string>
<string name="keyboard_layout_czech" msgid="1349256901452975343">"Tsjeggies"</string>
<string name="keyboard_layout_estonian" msgid="8775830985185665274">"Estnies"</string>
<string name="keyboard_layout_hungarian" msgid="4154963661406035109">"Hongaars"</string>
diff --git a/packages/InputDevices/res/values-am/strings.xml b/packages/InputDevices/res/values-am/strings.xml
index d4097f4..d475772 100644
--- a/packages/InputDevices/res/values-am/strings.xml
+++ b/packages/InputDevices/res/values-am/strings.xml
@@ -16,22 +16,22 @@
<string name="keyboard_layout_spanish_label" msgid="7091555148131908240">"ስፓኒሽ"</string>
<string name="keyboard_layout_swiss_french_label" msgid="4659191025396371684">"የስዊዝ ፈረንሳይኛ"</string>
<string name="keyboard_layout_swiss_german_label" msgid="2305520941993314258">"የስዊዝ ጀርመን"</string>
- <string name="keyboard_layout_belgian" msgid="2011984572838651558">"ቤልጂየምኛ"</string>
- <string name="keyboard_layout_bulgarian" msgid="8951224309972028398">"ቡልጋሪኛ"</string>
+ <string name="keyboard_layout_belgian" msgid="2011984572838651558">"ቤልጂየም"</string>
+ <string name="keyboard_layout_bulgarian" msgid="8951224309972028398">"ቡልጋሪያ"</string>
<string name="keyboard_layout_italian" msgid="6497079660449781213">"ጣሊያንኛ"</string>
<string name="keyboard_layout_danish" msgid="8036432066627127851">"ዴኒሽ"</string>
- <string name="keyboard_layout_norwegian" msgid="9090097917011040937">"ኖርዌጂያን"</string>
+ <string name="keyboard_layout_norwegian" msgid="9090097917011040937">"ኖርዌጂያ"</string>
<string name="keyboard_layout_swedish" msgid="732959109088479351">"ስዊድንኛ"</string>
<string name="keyboard_layout_finnish" msgid="5585659438924315466">"ፊኒሽ"</string>
- <string name="keyboard_layout_croatian" msgid="4172229471079281138">"ክሮሽያንኛ"</string>
+ <string name="keyboard_layout_croatian" msgid="4172229471079281138">"ክሮሽያ"</string>
<string name="keyboard_layout_czech" msgid="1349256901452975343">"ቼክ"</string>
- <string name="keyboard_layout_estonian" msgid="8775830985185665274">"ኤስቶኒያኛ"</string>
- <string name="keyboard_layout_hungarian" msgid="4154963661406035109">"ሀንጋሪያኛ"</string>
- <string name="keyboard_layout_icelandic" msgid="5836645650912489642">"አይስላንድኛ"</string>
- <string name="keyboard_layout_brazilian" msgid="5117896443147781939">"የብራዚል"</string>
- <string name="keyboard_layout_portuguese" msgid="2888198587329660305">"ፖርቹጋልኛ"</string>
- <string name="keyboard_layout_slovak" msgid="2469379934672837296">"ስሎቫክኛ"</string>
- <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"ስሎቪኛ"</string>
+ <string name="keyboard_layout_estonian" msgid="8775830985185665274">"ኤስቶኒያ"</string>
+ <string name="keyboard_layout_hungarian" msgid="4154963661406035109">"ሀንጋሪ"</string>
+ <string name="keyboard_layout_icelandic" msgid="5836645650912489642">"አይስላንድ"</string>
+ <string name="keyboard_layout_brazilian" msgid="5117896443147781939">"ብራዚል"</string>
+ <string name="keyboard_layout_portuguese" msgid="2888198587329660305">"ፖርቹጋል"</string>
+ <string name="keyboard_layout_slovak" msgid="2469379934672837296">"ስሎቫክ"</string>
+ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"ስሎቫኒያ"</string>
<string name="keyboard_layout_turkish" msgid="7736163250907964898">"ቱርክኛ"</string>
- <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"ዩክረኒኛ"</string>
+ <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"ዩክሬን"</string>
</resources>
diff --git a/packages/InputDevices/res/values-da/strings.xml b/packages/InputDevices/res/values-da/strings.xml
index 5eb30b1..fc07db2 100644
--- a/packages/InputDevices/res/values-da/strings.xml
+++ b/packages/InputDevices/res/values-da/strings.xml
@@ -14,8 +14,8 @@
<string name="keyboard_layout_russian_label" msgid="8724879775815042968">"Russisk"</string>
<string name="keyboard_layout_russian_mac_label" msgid="3795866869038264796">"Russisk, Mac-stil"</string>
<string name="keyboard_layout_spanish_label" msgid="7091555148131908240">"Spansk"</string>
- <string name="keyboard_layout_swiss_french_label" msgid="4659191025396371684">"schweizisk fransk"</string>
- <string name="keyboard_layout_swiss_german_label" msgid="2305520941993314258">"schweizertysk"</string>
+ <string name="keyboard_layout_swiss_french_label" msgid="4659191025396371684">"Schweizisk fransk"</string>
+ <string name="keyboard_layout_swiss_german_label" msgid="2305520941993314258">"Schweizertysk"</string>
<string name="keyboard_layout_belgian" msgid="2011984572838651558">"Belgisk"</string>
<string name="keyboard_layout_bulgarian" msgid="8951224309972028398">"Bulgarsk"</string>
<string name="keyboard_layout_italian" msgid="6497079660449781213">"Italiensk"</string>
@@ -33,5 +33,5 @@
<string name="keyboard_layout_slovak" msgid="2469379934672837296">"Slovakisk"</string>
<string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Slovensk"</string>
<string name="keyboard_layout_turkish" msgid="7736163250907964898">"Tyrkisk"</string>
- <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"ukrainsk"</string>
+ <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ukrainsk"</string>
</resources>
diff --git a/packages/InputDevices/res/values-el/strings.xml b/packages/InputDevices/res/values-el/strings.xml
index bcf7b86..f5d57a0 100644
--- a/packages/InputDevices/res/values-el/strings.xml
+++ b/packages/InputDevices/res/values-el/strings.xml
@@ -3,20 +3,20 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="8016145283189546017">"Συσκευές εισόδου"</string>
<string name="keyboard_layouts_label" msgid="6688773268302087545">"Πληκτρολόγιο Android"</string>
- <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"Αγγλικά (Η.Β.)"</string>
- <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"Αγγλικά (Η.Π.Α.)"</string>
- <string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"Αγγλικά (Η.Π.Α.), τύπου International"</string>
- <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"Αγγλικά (Η.Π.Α.), τύπου Colemak"</string>
- <string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"Αγγλικά (Η.Π.Α.), τύπου Dvorak"</string>
+ <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"Αγγλικά (ΗΒ)"</string>
+ <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"Αγγλικά (ΗΠΑ)"</string>
+ <string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"Αγγλικά (ΗΠΑ), τύπου International"</string>
+ <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"Αγγλικά (ΗΠΑ), τύπου Colemak"</string>
+ <string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"Αγγλικά (ΗΠΑ), τύπου Dvorak"</string>
<string name="keyboard_layout_german_label" msgid="8451565865467909999">"Γερμανικά"</string>
<string name="keyboard_layout_french_label" msgid="813450119589383723">"Γαλλικά"</string>
<string name="keyboard_layout_french_ca_label" msgid="365352601060604832">"Γαλλικά (Καναδά)"</string>
<string name="keyboard_layout_russian_label" msgid="8724879775815042968">"Ρωσικά"</string>
- <string name="keyboard_layout_russian_mac_label" msgid="3795866869038264796">"Russian, τύπου Mac"</string>
+ <string name="keyboard_layout_russian_mac_label" msgid="3795866869038264796">"Ρωσικά, τύπου Mac"</string>
<string name="keyboard_layout_spanish_label" msgid="7091555148131908240">"Ισπανικά"</string>
<string name="keyboard_layout_swiss_french_label" msgid="4659191025396371684">"Γαλλικά Ελβετίας"</string>
<string name="keyboard_layout_swiss_german_label" msgid="2305520941993314258">"Γερμανικά Ελβετίας"</string>
- <string name="keyboard_layout_belgian" msgid="2011984572838651558">"Βελγίου"</string>
+ <string name="keyboard_layout_belgian" msgid="2011984572838651558">"Βελγικά"</string>
<string name="keyboard_layout_bulgarian" msgid="8951224309972028398">"Βουλγαρικά"</string>
<string name="keyboard_layout_italian" msgid="6497079660449781213">"Ιταλικά"</string>
<string name="keyboard_layout_danish" msgid="8036432066627127851">"Δανικά"</string>
@@ -28,7 +28,7 @@
<string name="keyboard_layout_estonian" msgid="8775830985185665274">"Εσθονικά"</string>
<string name="keyboard_layout_hungarian" msgid="4154963661406035109">"Ουγγρικά"</string>
<string name="keyboard_layout_icelandic" msgid="5836645650912489642">"Ισλανδικά"</string>
- <string name="keyboard_layout_brazilian" msgid="5117896443147781939">"Βραζιλίας"</string>
+ <string name="keyboard_layout_brazilian" msgid="5117896443147781939">"Βραζιλιάνικα"</string>
<string name="keyboard_layout_portuguese" msgid="2888198587329660305">"Πορτογαλικά"</string>
<string name="keyboard_layout_slovak" msgid="2469379934672837296">"Σλοβακικά"</string>
<string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Σλοβενικά"</string>
diff --git a/packages/InputDevices/res/values-fr/strings.xml b/packages/InputDevices/res/values-fr/strings.xml
index fa02e5f..4ad4ffa 100644
--- a/packages/InputDevices/res/values-fr/strings.xml
+++ b/packages/InputDevices/res/values-fr/strings.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="8016145283189546017">"Périphériques d\'entrée"</string>
+ <string name="app_label" msgid="8016145283189546017">"Input Devices"</string>
<string name="keyboard_layouts_label" msgid="6688773268302087545">"Clavier Android"</string>
<string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"Anglais (Royaume-Uni)"</string>
<string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"Anglais (États-Unis)"</string>
diff --git a/packages/InputDevices/res/values-hr/strings.xml b/packages/InputDevices/res/values-hr/strings.xml
index fd3d594..6217bf0 100644
--- a/packages/InputDevices/res/values-hr/strings.xml
+++ b/packages/InputDevices/res/values-hr/strings.xml
@@ -2,7 +2,7 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="8016145283189546017">"Uređaji za unos"</string>
- <string name="keyboard_layouts_label" msgid="6688773268302087545">"Androidova tipkovnica"</string>
+ <string name="keyboard_layouts_label" msgid="6688773268302087545">"Android tipkovnica"</string>
<string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"engleska (UK)"</string>
<string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"engleska (SAD)"</string>
<string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"engleska (SAD), međunarodna"</string>
diff --git a/packages/InputDevices/res/values-hy-rAM/strings.xml b/packages/InputDevices/res/values-hy-rAM/strings.xml
index a73fb89..bc5bbfc 100644
--- a/packages/InputDevices/res/values-hy-rAM/strings.xml
+++ b/packages/InputDevices/res/values-hy-rAM/strings.xml
@@ -9,7 +9,7 @@
<string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"Անգլերեն (ԱՄՆ), Colemak տեսակ"</string>
<string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"Անգլերեն (ԱՄՆ), Dvorak տեսակ"</string>
<string name="keyboard_layout_german_label" msgid="8451565865467909999">"Գերմաներեն"</string>
- <string name="keyboard_layout_french_label" msgid="813450119589383723">"ֆրանսերեն"</string>
+ <string name="keyboard_layout_french_label" msgid="813450119589383723">"Ֆրանսերեն"</string>
<string name="keyboard_layout_french_ca_label" msgid="365352601060604832">"Ֆրանսերեն (Կանադա)"</string>
<string name="keyboard_layout_russian_label" msgid="8724879775815042968">"Ռուսերեն"</string>
<string name="keyboard_layout_russian_mac_label" msgid="3795866869038264796">"Ռուսերեն, Mac տեսակ"</string>
diff --git a/packages/InputDevices/res/values-ka-rGE/strings.xml b/packages/InputDevices/res/values-ka-rGE/strings.xml
index 17ca302..6e507aa 100644
--- a/packages/InputDevices/res/values-ka-rGE/strings.xml
+++ b/packages/InputDevices/res/values-ka-rGE/strings.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="8016145283189546017">"Input Devices"</string>
+ <string name="app_label" msgid="8016145283189546017">"შეყვანის მოწყობილობები"</string>
<string name="keyboard_layouts_label" msgid="6688773268302087545">"Android-ის კლავიატურა"</string>
- <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"ინგლისური (ბრიტ.)"</string>
+ <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"ინგლისური (გართ. სამ.)"</string>
<string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"ინგლისური (აშშ)"</string>
<string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"ინგლისური (აშშ), საერთაშორისო სტილი"</string>
- <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"ანგლისური (აშშ), Colemak სტილი"</string>
+ <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"ინგლისური (აშშ), Colemak სტილი"</string>
<string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"ინგლისური (აშშ), Dvorak სტილი"</string>
<string name="keyboard_layout_german_label" msgid="8451565865467909999">"გერმანული"</string>
<string name="keyboard_layout_french_label" msgid="813450119589383723">"ფრანგული"</string>
diff --git a/packages/InputDevices/res/values-lt/strings.xml b/packages/InputDevices/res/values-lt/strings.xml
index 177d418..c0ed159 100644
--- a/packages/InputDevices/res/values-lt/strings.xml
+++ b/packages/InputDevices/res/values-lt/strings.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="8016145283189546017">"Įvesties įrenginiai"</string>
+ <string name="app_label" msgid="8016145283189546017">"Input Devices"</string>
<string name="keyboard_layouts_label" msgid="6688773268302087545">"„Android“ klaviatūra"</string>
<string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"Anglų k. (JK)"</string>
<string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"Anglų k. (JAV)"</string>
diff --git a/packages/InputDevices/res/values-ms-rMY/strings.xml b/packages/InputDevices/res/values-ms-rMY/strings.xml
index e08c39c..486f048 100644
--- a/packages/InputDevices/res/values-ms-rMY/strings.xml
+++ b/packages/InputDevices/res/values-ms-rMY/strings.xml
@@ -4,7 +4,7 @@
<string name="app_label" msgid="8016145283189546017">"Peranti Input"</string>
<string name="keyboard_layouts_label" msgid="6688773268302087545">"Papan kekunci Android"</string>
<string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"Bahasa Inggeris (UK)"</string>
- <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"Bahasa Inggeris (Australia)"</string>
+ <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"Bahasa Inggeris (AS)"</string>
<string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"Bahasa Inggeris (AS), gaya A/bangsa"</string>
<string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"Bahasa Inggeris (AS), gaya Colemak"</string>
<string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"Bahasa Inggeris (AS), gaya Dvorak"</string>
diff --git a/packages/InputDevices/res/values-ro/strings.xml b/packages/InputDevices/res/values-ro/strings.xml
index 6ec5b25..895d8f6 100644
--- a/packages/InputDevices/res/values-ro/strings.xml
+++ b/packages/InputDevices/res/values-ro/strings.xml
@@ -3,35 +3,35 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="8016145283189546017">"Dispozitive de introducere de date"</string>
<string name="keyboard_layouts_label" msgid="6688773268302087545">"Tastatură Android"</string>
- <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"Englez (Regatul Unit)"</string>
- <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"Englez (S.U.A.)"</string>
- <string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"Englez (S.U.A.), stil internațional"</string>
- <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"Englez (S.U.A.), stil Colemak"</string>
- <string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"Englez (S.U.A.), stil Dvorak"</string>
- <string name="keyboard_layout_german_label" msgid="8451565865467909999">"German"</string>
- <string name="keyboard_layout_french_label" msgid="813450119589383723">"Francez"</string>
- <string name="keyboard_layout_french_ca_label" msgid="365352601060604832">"Francez (Canada)"</string>
- <string name="keyboard_layout_russian_label" msgid="8724879775815042968">"Rus"</string>
- <string name="keyboard_layout_russian_mac_label" msgid="3795866869038264796">"Rus, stil Mac"</string>
- <string name="keyboard_layout_spanish_label" msgid="7091555148131908240">"Spaniol"</string>
- <string name="keyboard_layout_swiss_french_label" msgid="4659191025396371684">"Francez (Elveția)"</string>
- <string name="keyboard_layout_swiss_german_label" msgid="2305520941993314258">"German (Elveția)"</string>
- <string name="keyboard_layout_belgian" msgid="2011984572838651558">"Belgian"</string>
- <string name="keyboard_layout_bulgarian" msgid="8951224309972028398">"Bulgar"</string>
- <string name="keyboard_layout_italian" msgid="6497079660449781213">"Italian"</string>
- <string name="keyboard_layout_danish" msgid="8036432066627127851">"Danez"</string>
- <string name="keyboard_layout_norwegian" msgid="9090097917011040937">"Norvegian"</string>
- <string name="keyboard_layout_swedish" msgid="732959109088479351">"Suedez"</string>
- <string name="keyboard_layout_finnish" msgid="5585659438924315466">"Finlandez"</string>
- <string name="keyboard_layout_croatian" msgid="4172229471079281138">"Croat"</string>
- <string name="keyboard_layout_czech" msgid="1349256901452975343">"Ceh"</string>
- <string name="keyboard_layout_estonian" msgid="8775830985185665274">"Estonian"</string>
- <string name="keyboard_layout_hungarian" msgid="4154963661406035109">"Maghiar"</string>
- <string name="keyboard_layout_icelandic" msgid="5836645650912489642">"Islandez"</string>
- <string name="keyboard_layout_brazilian" msgid="5117896443147781939">"Brazilian"</string>
- <string name="keyboard_layout_portuguese" msgid="2888198587329660305">"Portughez"</string>
- <string name="keyboard_layout_slovak" msgid="2469379934672837296">"Slovac"</string>
- <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Sloven"</string>
- <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turc"</string>
- <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ucrainean"</string>
+ <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"Engleză (Regatul Unit)"</string>
+ <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"Engleză (SUA)"</string>
+ <string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"Engleză (SUA), stil internațional"</string>
+ <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"Engleză (SUA), stil Colemak"</string>
+ <string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"Engleză (SUA), stil Dvorak"</string>
+ <string name="keyboard_layout_german_label" msgid="8451565865467909999">"Germană"</string>
+ <string name="keyboard_layout_french_label" msgid="813450119589383723">"Franceză"</string>
+ <string name="keyboard_layout_french_ca_label" msgid="365352601060604832">"Franceză (Canada)"</string>
+ <string name="keyboard_layout_russian_label" msgid="8724879775815042968">"Rusă"</string>
+ <string name="keyboard_layout_russian_mac_label" msgid="3795866869038264796">"Rusă, stil Mac"</string>
+ <string name="keyboard_layout_spanish_label" msgid="7091555148131908240">"Spaniolă"</string>
+ <string name="keyboard_layout_swiss_french_label" msgid="4659191025396371684">"Franceză (Elveția)"</string>
+ <string name="keyboard_layout_swiss_german_label" msgid="2305520941993314258">"Germană (Elveția)"</string>
+ <string name="keyboard_layout_belgian" msgid="2011984572838651558">"Belgiană"</string>
+ <string name="keyboard_layout_bulgarian" msgid="8951224309972028398">"Bulgară"</string>
+ <string name="keyboard_layout_italian" msgid="6497079660449781213">"Italiană"</string>
+ <string name="keyboard_layout_danish" msgid="8036432066627127851">"Daneză"</string>
+ <string name="keyboard_layout_norwegian" msgid="9090097917011040937">"Norvegiană"</string>
+ <string name="keyboard_layout_swedish" msgid="732959109088479351">"Suedeză"</string>
+ <string name="keyboard_layout_finnish" msgid="5585659438924315466">"Finlandeză"</string>
+ <string name="keyboard_layout_croatian" msgid="4172229471079281138">"Croată"</string>
+ <string name="keyboard_layout_czech" msgid="1349256901452975343">"Cehă"</string>
+ <string name="keyboard_layout_estonian" msgid="8775830985185665274">"Estoniană"</string>
+ <string name="keyboard_layout_hungarian" msgid="4154963661406035109">"Maghiară"</string>
+ <string name="keyboard_layout_icelandic" msgid="5836645650912489642">"Islandeză"</string>
+ <string name="keyboard_layout_brazilian" msgid="5117896443147781939">"Braziliană"</string>
+ <string name="keyboard_layout_portuguese" msgid="2888198587329660305">"Portugheză"</string>
+ <string name="keyboard_layout_slovak" msgid="2469379934672837296">"Slovacă"</string>
+ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Slovenă"</string>
+ <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Turcă"</string>
+ <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ucraineană"</string>
</resources>
diff --git a/packages/InputDevices/res/values-ru/strings.xml b/packages/InputDevices/res/values-ru/strings.xml
index 5a80358..a4cbfd7 100644
--- a/packages/InputDevices/res/values-ru/strings.xml
+++ b/packages/InputDevices/res/values-ru/strings.xml
@@ -5,19 +5,19 @@
<string name="keyboard_layouts_label" msgid="6688773268302087545">"Клавиатура Android"</string>
<string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"английский (Великобритания)"</string>
<string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"английский (США)"</string>
- <string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"English (US), International style"</string>
- <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"English (US), Colemak style"</string>
- <string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"English (US), Dvorak style"</string>
+ <string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"английский (США, международная)"</string>
+ <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"английский (США, Colemak)"</string>
+ <string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"английский (США, Dvorak)"</string>
<string name="keyboard_layout_german_label" msgid="8451565865467909999">"немецкий"</string>
<string name="keyboard_layout_french_label" msgid="813450119589383723">"французский"</string>
- <string name="keyboard_layout_french_ca_label" msgid="365352601060604832">"Французский (Канада)"</string>
+ <string name="keyboard_layout_french_ca_label" msgid="365352601060604832">"французский (Канада)"</string>
<string name="keyboard_layout_russian_label" msgid="8724879775815042968">"русский"</string>
- <string name="keyboard_layout_russian_mac_label" msgid="3795866869038264796">"Russian, Mac style"</string>
+ <string name="keyboard_layout_russian_mac_label" msgid="3795866869038264796">"русский (Mac)"</string>
<string name="keyboard_layout_spanish_label" msgid="7091555148131908240">"испанский"</string>
- <string name="keyboard_layout_swiss_french_label" msgid="4659191025396371684">"швейцарский французский"</string>
- <string name="keyboard_layout_swiss_german_label" msgid="2305520941993314258">"швейцарский немецкий"</string>
- <string name="keyboard_layout_belgian" msgid="2011984572838651558">"Нидерландский (Бельгия)"</string>
- <string name="keyboard_layout_bulgarian" msgid="8951224309972028398">"Болгарский"</string>
+ <string name="keyboard_layout_swiss_french_label" msgid="4659191025396371684">"французский (Швейцария)"</string>
+ <string name="keyboard_layout_swiss_german_label" msgid="2305520941993314258">"немецкий (Швейцария)"</string>
+ <string name="keyboard_layout_belgian" msgid="2011984572838651558">"нидерландский (Бельгия)"</string>
+ <string name="keyboard_layout_bulgarian" msgid="8951224309972028398">"болгарский"</string>
<string name="keyboard_layout_italian" msgid="6497079660449781213">"итальянский"</string>
<string name="keyboard_layout_danish" msgid="8036432066627127851">"датский"</string>
<string name="keyboard_layout_norwegian" msgid="9090097917011040937">"норвежский"</string>
@@ -28,7 +28,7 @@
<string name="keyboard_layout_estonian" msgid="8775830985185665274">"эстонский"</string>
<string name="keyboard_layout_hungarian" msgid="4154963661406035109">"венгерский"</string>
<string name="keyboard_layout_icelandic" msgid="5836645650912489642">"исландский"</string>
- <string name="keyboard_layout_brazilian" msgid="5117896443147781939">"Португальский (Бразилия)"</string>
+ <string name="keyboard_layout_brazilian" msgid="5117896443147781939">"португальский (Бразилия)"</string>
<string name="keyboard_layout_portuguese" msgid="2888198587329660305">"португальский"</string>
<string name="keyboard_layout_slovak" msgid="2469379934672837296">"словацкий"</string>
<string name="keyboard_layout_slovenian" msgid="1735933028924982368">"словенский"</string>
diff --git a/packages/InputDevices/res/values-sr/strings.xml b/packages/InputDevices/res/values-sr/strings.xml
index 4b7910c..d23ac00 100644
--- a/packages/InputDevices/res/values-sr/strings.xml
+++ b/packages/InputDevices/res/values-sr/strings.xml
@@ -3,35 +3,35 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="8016145283189546017">"Улазни уређаји"</string>
<string name="keyboard_layouts_label" msgid="6688773268302087545">"Android тастатура"</string>
- <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"енглески (Уједињено Краљевство)"</string>
- <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"енглески (САД)"</string>
- <string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"енглески (САД), међународни стил"</string>
- <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"енглески (САД), Colemak стил"</string>
- <string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"енглески (САД), Dvorak стил"</string>
- <string name="keyboard_layout_german_label" msgid="8451565865467909999">"немачки"</string>
- <string name="keyboard_layout_french_label" msgid="813450119589383723">"француски"</string>
- <string name="keyboard_layout_french_ca_label" msgid="365352601060604832">"француски (Канада)"</string>
- <string name="keyboard_layout_russian_label" msgid="8724879775815042968">"руски"</string>
- <string name="keyboard_layout_russian_mac_label" msgid="3795866869038264796">"руски, Mac стил"</string>
- <string name="keyboard_layout_spanish_label" msgid="7091555148131908240">"шпански"</string>
- <string name="keyboard_layout_swiss_french_label" msgid="4659191025396371684">"швајцарски француски"</string>
- <string name="keyboard_layout_swiss_german_label" msgid="2305520941993314258">"швајцарски немачки"</string>
- <string name="keyboard_layout_belgian" msgid="2011984572838651558">"белгијски"</string>
- <string name="keyboard_layout_bulgarian" msgid="8951224309972028398">"бугарски"</string>
- <string name="keyboard_layout_italian" msgid="6497079660449781213">"италијански"</string>
- <string name="keyboard_layout_danish" msgid="8036432066627127851">"дански"</string>
- <string name="keyboard_layout_norwegian" msgid="9090097917011040937">"норвешки"</string>
- <string name="keyboard_layout_swedish" msgid="732959109088479351">"шведски"</string>
- <string name="keyboard_layout_finnish" msgid="5585659438924315466">"фински"</string>
- <string name="keyboard_layout_croatian" msgid="4172229471079281138">"хрватски"</string>
- <string name="keyboard_layout_czech" msgid="1349256901452975343">"чешки"</string>
- <string name="keyboard_layout_estonian" msgid="8775830985185665274">"естонски"</string>
- <string name="keyboard_layout_hungarian" msgid="4154963661406035109">"мађарски"</string>
- <string name="keyboard_layout_icelandic" msgid="5836645650912489642">"исландски"</string>
- <string name="keyboard_layout_brazilian" msgid="5117896443147781939">"бразилски"</string>
- <string name="keyboard_layout_portuguese" msgid="2888198587329660305">"португалски"</string>
- <string name="keyboard_layout_slovak" msgid="2469379934672837296">"словачки"</string>
- <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"словеначки"</string>
- <string name="keyboard_layout_turkish" msgid="7736163250907964898">"турски"</string>
- <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"украјински"</string>
+ <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"енглеска (УК)"</string>
+ <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"енглеска (САД)"</string>
+ <string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"енглеска (САД), међународни стил"</string>
+ <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"енглеска (САД), Colemak стил"</string>
+ <string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"енглеска (САД), Dvorak стил"</string>
+ <string name="keyboard_layout_german_label" msgid="8451565865467909999">"немачка"</string>
+ <string name="keyboard_layout_french_label" msgid="813450119589383723">"француска"</string>
+ <string name="keyboard_layout_french_ca_label" msgid="365352601060604832">"француска (Канада)"</string>
+ <string name="keyboard_layout_russian_label" msgid="8724879775815042968">"руска"</string>
+ <string name="keyboard_layout_russian_mac_label" msgid="3795866869038264796">"руска, Mac стил"</string>
+ <string name="keyboard_layout_spanish_label" msgid="7091555148131908240">"шпанска"</string>
+ <string name="keyboard_layout_swiss_french_label" msgid="4659191025396371684">"швајцарско француска"</string>
+ <string name="keyboard_layout_swiss_german_label" msgid="2305520941993314258">"швајцарско немачка"</string>
+ <string name="keyboard_layout_belgian" msgid="2011984572838651558">"белгијска"</string>
+ <string name="keyboard_layout_bulgarian" msgid="8951224309972028398">"бугарска"</string>
+ <string name="keyboard_layout_italian" msgid="6497079660449781213">"италијанска"</string>
+ <string name="keyboard_layout_danish" msgid="8036432066627127851">"данска"</string>
+ <string name="keyboard_layout_norwegian" msgid="9090097917011040937">"норвешка"</string>
+ <string name="keyboard_layout_swedish" msgid="732959109088479351">"шведска"</string>
+ <string name="keyboard_layout_finnish" msgid="5585659438924315466">"финска"</string>
+ <string name="keyboard_layout_croatian" msgid="4172229471079281138">"хрватска"</string>
+ <string name="keyboard_layout_czech" msgid="1349256901452975343">"чешка"</string>
+ <string name="keyboard_layout_estonian" msgid="8775830985185665274">"естонска"</string>
+ <string name="keyboard_layout_hungarian" msgid="4154963661406035109">"мађарска"</string>
+ <string name="keyboard_layout_icelandic" msgid="5836645650912489642">"исландска"</string>
+ <string name="keyboard_layout_brazilian" msgid="5117896443147781939">"бразилска"</string>
+ <string name="keyboard_layout_portuguese" msgid="2888198587329660305">"португалска"</string>
+ <string name="keyboard_layout_slovak" msgid="2469379934672837296">"словачка"</string>
+ <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"словеначка"</string>
+ <string name="keyboard_layout_turkish" msgid="7736163250907964898">"турска"</string>
+ <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"украјинска"</string>
</resources>
diff --git a/packages/InputDevices/res/values-sw/strings.xml b/packages/InputDevices/res/values-sw/strings.xml
index 65c9f59..65ab96a 100644
--- a/packages/InputDevices/res/values-sw/strings.xml
+++ b/packages/InputDevices/res/values-sw/strings.xml
@@ -4,7 +4,7 @@
<string name="app_label" msgid="8016145283189546017">"Vifaa Ingizi"</string>
<string name="keyboard_layouts_label" msgid="6688773268302087545">"Kibodi ya Android"</string>
<string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"Kiingereza (Uingereza)"</string>
- <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"Kingereza (Marekani)"</string>
+ <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"Kiingereza (Marekani)"</string>
<string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"Kiingereza (Marekani), Muundo wa Kimataifa"</string>
<string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"Kiingereza (Marekani), Muundo wa Colemak"</string>
<string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"Kiingereza (Marekani), Muundo wa Dvorak"</string>
diff --git a/packages/InputDevices/res/values-tr/strings.xml b/packages/InputDevices/res/values-tr/strings.xml
index d146b35..f7c1262 100644
--- a/packages/InputDevices/res/values-tr/strings.xml
+++ b/packages/InputDevices/res/values-tr/strings.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="app_label" msgid="8016145283189546017">"Giriş Cihazları"</string>
+ <string name="app_label" msgid="8016145283189546017">"Input Devices"</string>
<string name="keyboard_layouts_label" msgid="6688773268302087545">"Android klavyesi"</string>
<string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"İngilizce (İngiltere)"</string>
<string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"İngilizce (ABD)"</string>
diff --git a/packages/InputDevices/res/values-zh-rCN/strings.xml b/packages/InputDevices/res/values-zh-rCN/strings.xml
index 2e18180..85b1c84 100644
--- a/packages/InputDevices/res/values-zh-rCN/strings.xml
+++ b/packages/InputDevices/res/values-zh-rCN/strings.xml
@@ -3,11 +3,11 @@
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_label" msgid="8016145283189546017">"输入设备"</string>
<string name="keyboard_layouts_label" msgid="6688773268302087545">"Android 键盘"</string>
- <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"英语(英式)"</string>
- <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"英语(美式)"</string>
- <string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"英语(美式),国际风格"</string>
- <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"英语(美式),Colemak 风格"</string>
- <string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"英语(美式),Dvorak 风格"</string>
+ <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"英语(英国)"</string>
+ <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"英语(美国)"</string>
+ <string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"英语(美国),国际风格"</string>
+ <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"英语(美国),Colemak 风格"</string>
+ <string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"英语(美国),Dvorak 风格"</string>
<string name="keyboard_layout_german_label" msgid="8451565865467909999">"德语"</string>
<string name="keyboard_layout_french_label" msgid="813450119589383723">"法语"</string>
<string name="keyboard_layout_french_ca_label" msgid="365352601060604832">"法语(加拿大)"</string>
diff --git a/packages/Keyguard/res/layout-land/keyguard_host_view.xml b/packages/Keyguard/res/layout-land/keyguard_host_view.xml
index eeb9ee7..9f1c1f0 100644
--- a/packages/Keyguard/res/layout-land/keyguard_host_view.xml
+++ b/packages/Keyguard/res/layout-land/keyguard_host_view.xml
@@ -60,6 +60,8 @@
android:id="@+id/keyguard_security_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:clipChildren="false"
+ android:clipToPadding="false"
androidprv:layout_childType="challenge"
androidprv:layout_centerWithinArea="0.55">
<com.android.keyguard.KeyguardSecurityViewFlipper
diff --git a/packages/Keyguard/res/layout-port/keyguard_host_view.xml b/packages/Keyguard/res/layout-port/keyguard_host_view.xml
index 8498dcf..136b296 100644
--- a/packages/Keyguard/res/layout-port/keyguard_host_view.xml
+++ b/packages/Keyguard/res/layout-port/keyguard_host_view.xml
@@ -31,7 +31,8 @@
<com.android.keyguard.SlidingChallengeLayout
android:id="@+id/sliding_layout"
android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_height="match_parent"
+ android:clipChildren="false">
<FrameLayout
android:layout_width="match_parent"
@@ -64,6 +65,8 @@
android:id="@+id/keyguard_security_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:clipChildren="false"
+ android:clipToPadding="false"
androidprv:layout_maxHeight="@dimen/keyguard_security_height"
androidprv:layout_childType="challenge"
android:padding="0dp"
diff --git a/packages/Keyguard/res/layout-sw600dp-port/keyguard_host_view.xml b/packages/Keyguard/res/layout-sw600dp-port/keyguard_host_view.xml
index 77bc9b5..85f6b6d 100644
--- a/packages/Keyguard/res/layout-sw600dp-port/keyguard_host_view.xml
+++ b/packages/Keyguard/res/layout-sw600dp-port/keyguard_host_view.xml
@@ -61,6 +61,8 @@
android:id="@+id/keyguard_security_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:clipChildren="false"
+ android:clipToPadding="false"
androidprv:layout_centerWithinArea="0.5"
androidprv:layout_childType="challenge"
android:layout_gravity="center_horizontal|bottom">
diff --git a/packages/Keyguard/res/values-mcc262-mnc08/bools.xml b/packages/Keyguard/res/values-mcc262-mnc08/bools.xml
new file mode 100644
index 0000000..6cd4c55
--- /dev/null
+++ b/packages/Keyguard/res/values-mcc262-mnc08/bools.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<resources>
+ <!-- Carriers in this locale are sensitive to capitalization of carrier text.
+ This makes the entire interface consistent by switching back to normal case. -->
+ <bool name="kg_use_all_caps">false</bool>
+</resources>
diff --git a/packages/Keyguard/res/values-mcc262-mnc11/bools.xml b/packages/Keyguard/res/values-mcc262-mnc11/bools.xml
new file mode 100644
index 0000000..6cd4c55
--- /dev/null
+++ b/packages/Keyguard/res/values-mcc262-mnc11/bools.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<resources>
+ <!-- Carriers in this locale are sensitive to capitalization of carrier text.
+ This makes the entire interface consistent by switching back to normal case. -->
+ <bool name="kg_use_all_caps">false</bool>
+</resources>
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardService.java b/packages/Keyguard/src/com/android/keyguard/KeyguardService.java
index d7c5fe2..36b2446 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardService.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardService.java
@@ -141,6 +141,10 @@ public class KeyguardService extends Service {
checkPermission();
mKeyguardViewMediator.launchCamera();
}
+ public void onBootCompleted() {
+ checkPermission();
+ mKeyguardViewMediator.onBootCompleted();
+ }
};
}
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java
index b7720ef..2e35439 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardTransportControlView.java
@@ -65,7 +65,7 @@ public class KeyguardTransportControlView extends FrameLayout {
protected static final boolean DEBUG = false;
protected static final String TAG = "TransportControlView";
- private static final boolean ANIMATE_TRANSITIONS = true;
+ private static final boolean ANIMATE_TRANSITIONS = false;
private ViewGroup mMetadataContainer;
private ViewGroup mInfoContainer;
@@ -101,9 +101,7 @@ public class KeyguardTransportControlView extends FrameLayout {
new RemoteController.OnClientUpdateListener() {
@Override
public void onClientChange(boolean clearing) {
- if (clearing) {
- clearMetadata();
- }
+ clearMetadata();
}
@Override
@@ -136,6 +134,7 @@ public class KeyguardTransportControlView extends FrameLayout {
private final Runnable mUpdateSeekBars = new Runnable() {
public void run() {
if (updateSeekBars()) {
+ removeCallbacks(this);
postDelayed(this, 1000);
}
}
@@ -251,7 +250,6 @@ public class KeyguardTransportControlView extends FrameLayout {
}
if (enabled) {
mUpdateSeekBars.run();
- postDelayed(mUpdateSeekBars, 1000);
} else {
removeCallbacks(mUpdateSeekBars);
}
@@ -302,6 +300,7 @@ public class KeyguardTransportControlView extends FrameLayout {
mPopulateMetadataWhenAttached = null;
}
if (DEBUG) Log.v(TAG, "Registering TCV " + this);
+ mMetadata.clear();
mAudioManager.registerRemoteController(mRemoteController);
KeyguardUpdateMonitor.getInstance(mContext).registerCallback(mUpdateMonitor);
}
@@ -321,7 +320,9 @@ public class KeyguardTransportControlView extends FrameLayout {
if (DEBUG) Log.v(TAG, "Unregistering TCV " + this);
mAudioManager.unregisterRemoteController(mRemoteController);
KeyguardUpdateMonitor.getInstance(mContext).removeCallback(mUpdateMonitor);
+ mMetadata.clear();
mUserSeeking = false;
+ removeCallbacks(mUpdateSeekBars);
}
void setBadgeIcon(Drawable bmp) {
@@ -394,10 +395,10 @@ public class KeyguardTransportControlView extends FrameLayout {
Log.e(TAG, "Couldn't get remote control client package icon", e);
}
setBadgeIcon(badgeIcon);
- if (!TextUtils.isEmpty(mMetadata.trackTitle)) {
- mTrackTitle.setText(mMetadata.trackTitle);
- }
- StringBuilder sb = new StringBuilder();
+ mTrackTitle.setText(!TextUtils.isEmpty(mMetadata.trackTitle)
+ ? mMetadata.trackTitle : null);
+
+ final StringBuilder sb = new StringBuilder();
if (!TextUtils.isEmpty(mMetadata.artist)) {
if (sb.length() != 0) {
sb.append(" - ");
@@ -410,7 +411,10 @@ public class KeyguardTransportControlView extends FrameLayout {
}
sb.append(mMetadata.albumTitle);
}
- mTrackArtistAlbum.setText(sb.toString());
+
+ final String trackArtistAlbum = sb.toString();
+ mTrackArtistAlbum.setText(!TextUtils.isEmpty(trackArtistAlbum) ?
+ trackArtistAlbum : null);
if (mMetadata.duration >= 0) {
setSeekBarsEnabled(true);
@@ -433,8 +437,7 @@ public class KeyguardTransportControlView extends FrameLayout {
setSeekBarsEnabled(false);
}
- KeyguardUpdateMonitor.getInstance(getContext()).dispatchSetBackground(
- mMetadata.bitmap);
+ KeyguardUpdateMonitor.getInstance(getContext()).dispatchSetBackground(mMetadata.bitmap);
final int flags = mTransportControlFlags;
setVisibilityBasedOnFlag(mBtnPrev, flags, RemoteControlClient.FLAG_KEY_MEDIA_PREVIOUS);
setVisibilityBasedOnFlag(mBtnNext, flags, RemoteControlClient.FLAG_KEY_MEDIA_NEXT);
@@ -535,7 +538,7 @@ public class KeyguardTransportControlView extends FrameLayout {
imageResId = R.drawable.ic_media_pause;
imageDescId = R.string.keyguard_transport_pause_description;
if (mSeekEnabled) {
- postDelayed(mUpdateSeekBars, 1000);
+ mUpdateSeekBars.run();
}
break;
@@ -563,6 +566,7 @@ public class KeyguardTransportControlView extends FrameLayout {
boolean updateSeekBars() {
final int position = (int) mRemoteController.getEstimatedMediaPosition();
if (position >= 0) {
+ if (DEBUG) Log.v(TAG, "Seek to " + position);
if (!mUserSeeking) {
mTransientSeekBar.setProgress(position);
}
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
index 45cd3d4..520cea3 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -635,15 +635,14 @@ public class KeyguardUpdateMonitor {
* PhoneWindowManager in this case.
*/
protected void dispatchBootCompleted() {
- if (!mBootCompleted) {
- mHandler.sendEmptyMessage(MSG_BOOT_COMPLETED);
- }
+ mHandler.sendEmptyMessage(MSG_BOOT_COMPLETED);
}
/**
* Handle {@link #MSG_BOOT_COMPLETED}
*/
protected void handleBootCompleted() {
+ if (mBootCompleted) return;
mBootCompleted = true;
mAudioManager = new AudioManager(mContext);
mAudioManager.registerRemoteControlDisplay(mRemoteControlDisplay);
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java b/packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java
index a0cad84..fd7cae6 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java
@@ -431,17 +431,13 @@ public class KeyguardViewManager {
public synchronized void onScreenTurnedOn(final IKeyguardShowCallback callback) {
if (DEBUG) Log.d(TAG, "onScreenTurnedOn()");
mScreenOn = true;
- final IBinder token;
- // If keyguard is disabled, we need to inform PhoneWindowManager with a null
+ // If keyguard is not showing, we need to inform PhoneWindowManager with a null
// token so it doesn't wait for us to draw...
- final boolean disabled =
- mLockPatternUtils.isLockScreenDisabled() && !mLockPatternUtils.isSecure();
- if (mKeyguardHost == null || disabled) {
- token = null;
- } else {
- token = mKeyguardHost.getWindowToken();
- }
+ final IBinder token = isShowing() ? mKeyguardHost.getWindowToken() : null;
+
+ if (DEBUG && token == null) Slog.v(TAG, "send wm null token: "
+ + (mKeyguardHost == null ? "host was null" : "not showing"));
if (mKeyguardView != null) {
mKeyguardView.onScreenTurnedOn();
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardViewMediator.java b/packages/Keyguard/src/com/android/keyguard/KeyguardViewMediator.java
index a37a3a4..b92ae90 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardViewMediator.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardViewMediator.java
@@ -530,9 +530,6 @@ public class KeyguardViewMediator {
mSystemReady = true;
mUpdateMonitor.registerCallback(mUpdateCallback);
- // Send boot completed message if it hasn't already been sent.
- mUpdateMonitor.dispatchBootCompleted();
-
// Suppress biometric unlock right after boot until things have settled if it is the
// selected security method, otherwise unsuppress it. It must be unsuppressed if it is
// not the selected security method for the following reason: if the user starts
@@ -1366,4 +1363,8 @@ public class KeyguardViewMediator {
Message msg = mHandler.obtainMessage(LAUNCH_CAMERA);
mHandler.sendMessage(msg);
}
+
+ public void onBootCompleted() {
+ mUpdateMonitor.dispatchBootCompleted();
+ }
}
diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java b/packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java
index 7039218..8e39628 100644
--- a/packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java
+++ b/packages/Keyguard/src/com/android/keyguard/KeyguardViewStateManager.java
@@ -139,7 +139,13 @@ public class KeyguardViewStateManager implements
boolean isCameraPage = newPage instanceof CameraWidgetFrame;
SlidingChallengeLayout scl = (SlidingChallengeLayout) mChallengeLayout;
scl.setChallengeInteractive(!isCameraPage);
- if (isCameraPage) scl.fadeOutChallenge();
+ if (isCameraPage) {
+ scl.fadeOutChallenge();
+ }
+ final int currentFlags = mKeyguardWidgetPager.getSystemUiVisibility();
+ final int newFlags = isCameraPage ? (currentFlags | View.STATUS_BAR_DISABLE_SEARCH)
+ : (currentFlags & ~View.STATUS_BAR_DISABLE_SEARCH);
+ mKeyguardWidgetPager.setSystemUiVisibility(newFlags);
}
// If the page we're settling to is the same as we started on, and the action of
diff --git a/packages/Keyguard/src/com/android/keyguard/PagedView.java b/packages/Keyguard/src/com/android/keyguard/PagedView.java
index 6cf6953..9d237dc 100644
--- a/packages/Keyguard/src/com/android/keyguard/PagedView.java
+++ b/packages/Keyguard/src/com/android/keyguard/PagedView.java
@@ -44,6 +44,7 @@ import android.view.View;
import android.view.ViewConfiguration;
import android.view.ViewGroup;
import android.view.ViewParent;
+import android.view.ViewPropertyAnimator;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.AccessibilityNodeInfo;
@@ -134,6 +135,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
protected final static int TOUCH_STATE_PREV_PAGE = 2;
protected final static int TOUCH_STATE_NEXT_PAGE = 3;
protected final static int TOUCH_STATE_REORDERING = 4;
+ protected final static int TOUCH_STATE_READY = 5; // when finger is down
protected final static float ALPHA_QUANTIZE_LEVEL = 0.0001f;
protected final static float TOUCH_SLOP_SCALE = 1.0f;
@@ -260,11 +262,11 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
// Page warping
private int mPageSwapIndex = -1; // the page we swapped out if needed
private int mPageWarpIndex = -1; // the page we intend to warp
+ private boolean mWarpPageExposed;
+ private ViewPropertyAnimator mWarpAnimation;
private boolean mIsCameraEvent;
private float mWarpPeekAmount;
- private boolean mAnimatingWarp; // true while warped page is being animated
- private boolean mFingerDown;
public interface PageSwitchListener {
void onPageSwitching(View newPage, int newPageIndex);
@@ -1128,7 +1130,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
}
case MotionEvent.ACTION_DOWN: {
- if (mIsCameraEvent && !mAnimatingWarp) {
+ if (mIsCameraEvent) {
animateWarpPageOnScreen("interceptTouch(): DOWN");
}
// Remember where the motion event started
@@ -1196,6 +1198,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
private void setTouchState(int touchState) {
if (mTouchState != touchState) {
+ if (DEBUG_WARP) Log.v(TAG, "mTouchState changing to " + touchState);
onTouchStateChanged(touchState);
mTouchState = touchState;
}
@@ -1223,8 +1226,6 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
mTotalMotionX = 0;
mActivePointerId = ev.getPointerId(0);
- mFingerDown = true;
-
// Determine if the down event is within the threshold to be an edge swipe
int leftEdgeBoundary = getViewportOffsetX() + mEdgeSwipeRegionSize;
int rightEdgeBoundary = getMeasuredWidth() - getViewportOffsetX() - mEdgeSwipeRegionSize;
@@ -1399,9 +1400,11 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
if (mTouchState == TOUCH_STATE_SCROLLING) {
pageBeginMoving();
+ } else {
+ setTouchState(TOUCH_STATE_READY);
}
- if (mIsCameraEvent && !mAnimatingWarp) {
+ if (mIsCameraEvent) {
animateWarpPageOnScreen("onTouch(): DOWN");
}
break;
@@ -1424,7 +1427,10 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
if (Math.abs(deltaX) >= 1.0f) {
mTouchX += deltaX;
mSmoothingTime = System.nanoTime() / NANOTIME_DIV;
- if (!mDeferScrollUpdate) {
+ if (isWarping()) {
+ KeyguardWidgetFrame v = (KeyguardWidgetFrame) getPageAt(mPageWarpIndex);
+ v.setTranslationX(v.getTranslationX() - deltaX);
+ } else if (!mDeferScrollUpdate) {
scrollBy((int) deltaX, 0);
if (DEBUG) Log.d(TAG, "onTouchEvent().Scrolling: " + deltaX);
} else {
@@ -1550,6 +1556,9 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
if (mTouchState == TOUCH_STATE_SCROLLING) {
final int activePointerId = mActivePointerId;
final int pointerIndex = ev.findPointerIndex(activePointerId);
+
+ if (pointerIndex == -1) return true;
+
final float x = ev.getX(pointerIndex);
final VelocityTracker velocityTracker = mVelocityTracker;
velocityTracker.computeCurrentVelocity(1000, mMaximumVelocity);
@@ -1635,6 +1644,10 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
onDropToDelete();
}
} else {
+ if (DEBUG_WARP) Log.v(TAG, "calling onUnhandledTap()");
+ if (mWarpPageExposed && !isAnimatingWarpPage()) {
+ animateWarpPageOffScreen("unhandled tap", true);
+ }
onUnhandledTap(ev);
}
@@ -1670,7 +1683,6 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
setTouchState(TOUCH_STATE_REST);
mActivePointerId = INVALID_POINTER;
mDownEventOnEdge = false;
- mFingerDown = false;
}
protected void onUnhandledTap(MotionEvent ev) {}
@@ -1800,10 +1812,11 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
}
protected void snapToDestination() {
+ final int newPage = getPageNearestToCenterOfScreen();
if (isWarping()) {
- cancelWarpAnimation("snapToDestination");
+ cancelWarpAnimation("snapToDestination", mCurrentPage != newPage);
}
- snapToPage(getPageNearestToCenterOfScreen(), getPageSnapDuration());
+ snapToPage(newPage, getPageSnapDuration());
}
private int getPageSnapDuration() {
@@ -1835,7 +1848,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
int halfScreenSize = getViewportWidth() / 2;
if (isWarping()) {
- cancelWarpAnimation("snapToPageWithVelocity");
+ cancelWarpAnimation("snapToPageWithVelocity", mCurrentPage != whichPage);
}
if (DEBUG) Log.d(TAG, "snapToPage.getChildOffset(): " + getChildOffset(whichPage));
@@ -2675,37 +2688,56 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
mIsCameraEvent = false;
}
- AnimatorListenerAdapter mFinishWarpAnimationListener = new AnimatorListenerAdapter() {
+ AnimatorListenerAdapter mOnScreenAnimationListener = new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
- mAnimatingWarp = false;
- if (!mFingerDown) {
- animateWarpPageOffScreen("animation end", true);
+ mWarpAnimation = null;
+ if (mTouchState != TOUCH_STATE_SCROLLING && mTouchState != TOUCH_STATE_READY) {
+ animateWarpPageOffScreen("onScreen end", true);
}
}
};
- private void cancelWarpAnimation(String msg) {
+ AnimatorListenerAdapter mOffScreenAnimationListener = new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ mWarpAnimation = null;
+ mWarpPageExposed = true;
+ }
+ };
+
+ private void cancelWarpAnimation(String msg, boolean abortAnimation) {
if (DEBUG_WARP) Log.v(TAG, "cancelWarpAnimation(" + msg + ")");
- // We're done with the animation, let the scroller take over the positioning
- KeyguardWidgetFrame v = (KeyguardWidgetFrame) getPageAt(mPageWarpIndex);
- v.animate().cancel();
- v.setTranslationX(0f);
- scrollBy((int) Math.round(v.getTranslationX() - mWarpPeekAmount), 0);
+ if (abortAnimation) {
+ // We're done with the animation and moving to a new page. Let the scroller
+ // take over the animation.
+ KeyguardWidgetFrame v = (KeyguardWidgetFrame) getPageAt(mPageWarpIndex);
+ v.animate().cancel();
+ // Make the scroll amount match the current warp position.
+ scrollBy(Math.round(-v.getTranslationX()), 0);
+ v.setTranslationX(0);
+ } else {
+ animateWarpPageOffScreen("canceled", true);
+ }
+ }
+
+ private boolean isAnimatingWarpPage() {
+ return mWarpAnimation != null;
}
private void animateWarpPageOnScreen(String reason) {
if (DEBUG_WARP) Log.v(TAG, "animateWarpPageOnScreen(" + reason + ")");
if (isWarping()) {
+ mWarpPageExposed = true;
onPageBeginWarp();
KeyguardWidgetFrame v = (KeyguardWidgetFrame) getPageAt(mPageWarpIndex);
if (DEBUG_WARP) Log.v(TAG, "moving page on screen: Tx=" + v.getTranslationX());
DecelerateInterpolator interp = new DecelerateInterpolator(1.5f);
- v.animate().translationX(mWarpPeekAmount)
+ mWarpAnimation = v.animate();
+ mWarpAnimation.translationX(mWarpPeekAmount)
.setInterpolator(interp)
.setDuration(WARP_PEEK_ANIMATION_DURATION)
- .setListener(mFinishWarpAnimationListener);
- mAnimatingWarp = true;
+ .setListener(mOnScreenAnimationListener);
}
}
@@ -2719,7 +2751,7 @@ public abstract class PagedView extends ViewGroup implements ViewGroup.OnHierarc
v.animate().translationX(0.0f)
.setInterpolator(interp)
.setDuration(animate ? WARP_PEEK_ANIMATION_DURATION : 0)
- .setListener(null);
+ .setListener(mOffScreenAnimationListener);
} else {
if (DEBUG_WARP) Log.e(TAG, "animateWarpPageOffScreen(): not warping", new Exception());
}
diff --git a/packages/PrintSpooler/res/drawable-hdpi/ic_menu_print.png b/packages/PrintSpooler/res/drawable-hdpi/ic_menu_print.png
new file mode 100644
index 0000000..09ab1a2
--- /dev/null
+++ b/packages/PrintSpooler/res/drawable-hdpi/ic_menu_print.png
Binary files differ
diff --git a/packages/PrintSpooler/res/drawable-mdpi/ic_menu_print.png b/packages/PrintSpooler/res/drawable-mdpi/ic_menu_print.png
new file mode 100644
index 0000000..637d94e
--- /dev/null
+++ b/packages/PrintSpooler/res/drawable-mdpi/ic_menu_print.png
Binary files differ
diff --git a/packages/PrintSpooler/res/drawable-xhdpi/ic_menu_print.png b/packages/PrintSpooler/res/drawable-xhdpi/ic_menu_print.png
new file mode 100644
index 0000000..4d4b3cc
--- /dev/null
+++ b/packages/PrintSpooler/res/drawable-xhdpi/ic_menu_print.png
Binary files differ
diff --git a/packages/PrintSpooler/res/layout/print_job_config_activity_content_editing.xml b/packages/PrintSpooler/res/layout/print_job_config_activity_content_editing.xml
index 83019b9..02740a3 100644
--- a/packages/PrintSpooler/res/layout/print_job_config_activity_content_editing.xml
+++ b/packages/PrintSpooler/res/layout/print_job_config_activity_content_editing.xml
@@ -107,7 +107,7 @@
android:layout_marginStart="36dip"
android:textAppearance="@style/PrintOptionTitleTextAppearance"
android:labelFor="@+id/range_options_spinner"
- android:text="@string/label_pages">
+ android:text="@string/page_count_unknown">
</TextView>
<Spinner
diff --git a/packages/PrintSpooler/res/layout/printer_dropdown_item.xml b/packages/PrintSpooler/res/layout/printer_dropdown_item.xml
index 2749aa6..1a61b99 100644
--- a/packages/PrintSpooler/res/layout/printer_dropdown_item.xml
+++ b/packages/PrintSpooler/res/layout/printer_dropdown_item.xml
@@ -15,13 +15,13 @@
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:paddingStart="16dip"
- android:paddingEnd="16dip"
- android:minHeight="?android:attr/listPreferredItemHeightSmall"
- android:orientation="horizontal"
- android:gravity="start|center_vertical">
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:paddingStart="16dip"
+ android:paddingEnd="16dip"
+ android:minHeight="?android:attr/listPreferredItemHeightSmall"
+ android:orientation="horizontal"
+ android:gravity="start|center_vertical">
<ImageView
android:id="@+id/icon"
@@ -31,7 +31,7 @@
android:layout_marginEnd="8dip"
android:duplicateParentState="true"
android:contentDescription="@null"
- android:visibility="gone">
+ android:visibility="invisible">
</ImageView>
<LinearLayout
diff --git a/packages/PrintSpooler/res/layout/printer_list_item.xml b/packages/PrintSpooler/res/layout/printer_list_item.xml
new file mode 100644
index 0000000..47eb0b5
--- /dev/null
+++ b/packages/PrintSpooler/res/layout/printer_list_item.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+ android:minHeight="?android:attr/listPreferredItemHeight"
+ android:orientation="horizontal"
+ android:gravity="start|center_vertical">
+
+ <ImageView
+ android:id="@+id/icon"
+ android:layout_width="32dip"
+ android:layout_height="32dip"
+ android:layout_gravity="center_vertical"
+ android:layout_marginEnd="8dip"
+ android:duplicateParentState="true"
+ android:contentDescription="@null"
+ android:visibility="gone">
+ </ImageView>
+
+ <LinearLayout
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:orientation="vertical"
+ android:duplicateParentState="true">
+
+ <TextView
+ android:id="@+id/title"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:singleLine="true"
+ android:ellipsize="end"
+ android:textIsSelectable="false"
+ android:gravity="top|start"
+ android:textColor="@color/item_text_color"
+ android:duplicateParentState="true">
+ </TextView>
+
+ <TextView
+ android:id="@+id/subtitle"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:singleLine="true"
+ android:ellipsize="end"
+ android:textIsSelectable="false"
+ android:visibility="gone"
+ android:textColor="@color/print_option_title"
+ android:duplicateParentState="true">
+ </TextView>
+
+ </LinearLayout>
+
+</LinearLayout>
diff --git a/packages/PrintSpooler/res/layout/select_printer_fragment.xml b/packages/PrintSpooler/res/layout/select_printer_fragment.xml
new file mode 100644
index 0000000..bbd012e
--- /dev/null
+++ b/packages/PrintSpooler/res/layout/select_printer_fragment.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<ListView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@android:id/list"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:paddingStart="@dimen/printer_list_view_padding_start"
+ android:paddingEnd="@dimen/printer_list_view_padding_end"
+ android:scrollbarStyle="outsideOverlay"
+ android:cacheColorHint="@android:color/transparent"
+ android:scrollbarAlwaysDrawVerticalTrack="true" >
+</ListView>
diff --git a/packages/PrintSpooler/res/values-af/strings.xml b/packages/PrintSpooler/res/values-af/strings.xml
index 4090893..5ea5ed9 100644
--- a/packages/PrintSpooler/res/values-af/strings.xml
+++ b/packages/PrintSpooler/res/values-af/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Kleur"</string>
<string name="label_orientation" msgid="2853142581990496477">"Oriëntasie"</string>
<string name="label_pages" msgid="6300874667546617333">"Bladsye (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"bv. 1—5,8,11—13"</string>
<string name="print_preview" msgid="8010217796057763343">"Drukvoorskou"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Installeer PDF-bekyker vir voorskou"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Drukkerprogram het omgeval"</string>
@@ -53,16 +52,15 @@
<string name="failed_notification_title_template" msgid="2256217208186530973">"Drukkerfout by <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Drukker het <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> geblokkeer"</string>
<plurals name="composite_notification_title_template">
- <item quantity="one" msgid="5866624638054847057">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>-druktaak"</item>
- <item quantity="other" msgid="8746611264734222865">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>-druktake"</item>
+ <item quantity="one" msgid="5866624638054847057">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>-uitdruktaak"</item>
+ <item quantity="other" msgid="8746611264734222865">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>-uitdruktake"</item>
</plurals>
<string name="cancel" msgid="4373674107267141885">"Kanselleer"</string>
<string name="restart" msgid="2472034227037808749">"Herbegin"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Geen verbinding met drukker nie"</string>
<string name="reason_unknown" msgid="5507940196503246139">"onbekend"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – nie beskikbaar nie"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Kon nie uitdruktaak genereer nie"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Swart en wit"</item>
<item msgid="2762241247228983754">"Kleur"</item>
diff --git a/packages/PrintSpooler/res/values-am/strings.xml b/packages/PrintSpooler/res/values-am/strings.xml
index 6569cf4..6e5c00f 100644
--- a/packages/PrintSpooler/res/values-am/strings.xml
+++ b/packages/PrintSpooler/res/values-am/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"ቀለም"</string>
<string name="label_orientation" msgid="2853142581990496477">"አቀማመጠ ገፅ"</string>
<string name="label_pages" msgid="6300874667546617333">"ገጾች (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"ለምሳሌ፦ 1–5,8,11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"የህትመት ቅድመ እይታ"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"ለቅድመ-እይታ የፒ ዲ ኤፍ መመልከቻ ይጫኑ"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"የአታሚ መተግበሪያ ተበላሽቷል"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"ከአታሚ ጋር ምንም ግንኙነት የለም"</string>
<string name="reason_unknown" msgid="5507940196503246139">"አይታወቅም"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – አይገኝም"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"የህትመት ስራን ማመንጨት አልተቻለም"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"ጥቁር እና ነጭ"</item>
<item msgid="2762241247228983754">"ቀለም"</item>
diff --git a/packages/PrintSpooler/res/values-ar/strings.xml b/packages/PrintSpooler/res/values-ar/strings.xml
index 76d5dad..1740833 100644
--- a/packages/PrintSpooler/res/values-ar/strings.xml
+++ b/packages/PrintSpooler/res/values-ar/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"اللون"</string>
<string name="label_orientation" msgid="2853142581990496477">"الاتجاه"</string>
<string name="label_pages" msgid="6300874667546617333">"الصفحات (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"على سبيل المثال، 1—5،8،11—13"</string>
<string name="print_preview" msgid="8010217796057763343">"معاينة قبل الطباعة"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"تثبيت برنامج عرض PDF للمعاينة"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"تعطّل تطبيق الطباعة"</string>
@@ -61,15 +60,14 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"لا يوجد اتصال بالطابعة"</string>
<string name="reason_unknown" msgid="5507940196503246139">"غير معروف"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – غير متاحة"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"تعذر إنشاء عملية الطباعة"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"أبيض وأسود"</item>
<item msgid="2762241247228983754">"اللون"</item>
</string-array>
<string-array name="orientation_labels">
- <item msgid="4061931020926489228">"صورة أشخاص"</item>
- <item msgid="3199660090246166812">"معالم"</item>
+ <item msgid="4061931020926489228">"عمودي"</item>
+ <item msgid="3199660090246166812">"أفقية"</item>
</string-array>
<string-array name="page_options_labels">
<item msgid="7421377442011699994">"الكل"</item>
diff --git a/packages/PrintSpooler/res/values-be/arrays.xml b/packages/PrintSpooler/res/values-be/arrays.xml
new file mode 100644
index 0000000..d40278c
--- /dev/null
+++ b/packages/PrintSpooler/res/values-be/arrays.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<resources>
+
+ <string-array name="pdf_printer_media_sizes" translatable="false">
+ <item>NA_LETTER</item>
+ <item>NA_GOVT_LETTER</item>
+ <item>NA_LEGAL</item>
+ <item>NA_JUNIOR_LEGAL</item>
+ <item>NA_LEDGER</item>
+ <item>NA_TABLOID</item>
+ <item>NA_INDEX_3X5</item>
+ <item>NA_INDEX_4X6</item>
+ <item>NA_INDEX_5X8</item>
+ <item>NA_MONARCH</item>
+ <item>NA_QUARTO</item>
+ <item>NA_FOOLSCAP</item>
+ </string-array>
+
+</resources>
diff --git a/packages/PrintSpooler/res/values-bg/strings.xml b/packages/PrintSpooler/res/values-bg/strings.xml
index 7f8c3aa..1573b3b 100644
--- a/packages/PrintSpooler/res/values-bg/strings.xml
+++ b/packages/PrintSpooler/res/values-bg/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Цвят"</string>
<string name="label_orientation" msgid="2853142581990496477">"Ориентация"</string>
<string name="label_pages" msgid="6300874667546617333">"Страници (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"напр. 1–5, 8, 11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Визуализация за печат"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Инсталиране на визуализатор на PDF"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Получи се срив в приложението за отпечатване"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"„<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>“ се анулира"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"Грешка в принтера при „<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>“"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Принтерът блокира при „<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>“"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"Задание за отпечатване: <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"Задания за отпечатване: <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"Отказ"</string>
<string name="restart" msgid="2472034227037808749">"Рестартиране"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Няма връзка с принтера"</string>
<string name="reason_unknown" msgid="5507940196503246139">"няма данни"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – не е налице"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Заданието за отпечатване не можа да се генерира"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Черно-бяло"</item>
<item msgid="2762241247228983754">"Цветно"</item>
diff --git a/packages/PrintSpooler/res/values-ca/arrays.xml b/packages/PrintSpooler/res/values-ca/arrays.xml
new file mode 100644
index 0000000..d40278c
--- /dev/null
+++ b/packages/PrintSpooler/res/values-ca/arrays.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<resources>
+
+ <string-array name="pdf_printer_media_sizes" translatable="false">
+ <item>NA_LETTER</item>
+ <item>NA_GOVT_LETTER</item>
+ <item>NA_LEGAL</item>
+ <item>NA_JUNIOR_LEGAL</item>
+ <item>NA_LEDGER</item>
+ <item>NA_TABLOID</item>
+ <item>NA_INDEX_3X5</item>
+ <item>NA_INDEX_4X6</item>
+ <item>NA_INDEX_5X8</item>
+ <item>NA_MONARCH</item>
+ <item>NA_QUARTO</item>
+ <item>NA_FOOLSCAP</item>
+ </string-array>
+
+</resources>
diff --git a/packages/PrintSpooler/res/values-ca/strings.xml b/packages/PrintSpooler/res/values-ca/strings.xml
index 330c79b..3ad5892 100644
--- a/packages/PrintSpooler/res/values-ca/strings.xml
+++ b/packages/PrintSpooler/res/values-ca/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Color"</string>
<string name="label_orientation" msgid="2853142581990496477">"Orientació"</string>
<string name="label_pages" msgid="6300874667546617333">"Pàgines (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"p. ex. 1-5, 8, 11-13"</string>
<string name="print_preview" msgid="8010217796057763343">"Visualització prèvia impressió"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Instal·la un lector de PDF per a visualitz. prèvia"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"L\'aplicació d\'impressió ha fallat"</string>
@@ -54,15 +53,14 @@
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Impressora bloquejada <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<plurals name="composite_notification_title_template">
<item quantity="one" msgid="5866624638054847057">"Tasca d\'impressió per a <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
- <item quantity="other" msgid="8746611264734222865">"Tasques d\'impressió de <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"Tasques d\'impressió per a <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
</plurals>
<string name="cancel" msgid="4373674107267141885">"Cancel·la"</string>
<string name="restart" msgid="2472034227037808749">"Reinicia"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"No hi ha connexió amb la impressora"</string>
<string name="reason_unknown" msgid="5507940196503246139">"desconegut"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>: no disponible"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"No s\'ha pogut generar la tasca d\'impressió"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Blanc i negre"</item>
<item msgid="2762241247228983754">"Color"</item>
diff --git a/packages/PrintSpooler/res/values-cs/strings.xml b/packages/PrintSpooler/res/values-cs/strings.xml
index c45a965..8f82879 100644
--- a/packages/PrintSpooler/res/values-cs/strings.xml
+++ b/packages/PrintSpooler/res/values-cs/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Barva"</string>
<string name="label_orientation" msgid="2853142581990496477">"Orientace"</string>
<string name="label_pages" msgid="6300874667546617333">"STRÁNKY (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"např. 1–5, 8, 11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Náhled tisku"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Nainstalovat prohlížeč PDF (umožní náhled)"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Aplikace tisku selhala"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"Rušení úlohy <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"Chyba tiskárny u úlohy <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Tiskárna blokuje úlohu <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"Počet tiskových úloh: <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"Počet tiskových úloh: <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"Zrušit"</string>
<string name="restart" msgid="2472034227037808749">"Restartovat"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Nelze se připojit k tiskárně"</string>
<string name="reason_unknown" msgid="5507940196503246139">"neznámé"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – není k dispozici"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Tiskovou úlohu nelze vytvořit"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Černobíle"</item>
<item msgid="2762241247228983754">"Barevně"</item>
diff --git a/packages/PrintSpooler/res/values-da/strings.xml b/packages/PrintSpooler/res/values-da/strings.xml
index c711d67..9248cba 100644
--- a/packages/PrintSpooler/res/values-da/strings.xml
+++ b/packages/PrintSpooler/res/values-da/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Farve"</string>
<string name="label_orientation" msgid="2853142581990496477">"Retning"</string>
<string name="label_pages" msgid="6300874667546617333">"Sider (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"f.eks. 1-5,8,11-13"</string>
<string name="print_preview" msgid="8010217796057763343">"Vis udskrift"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Installer et PDF-visningsprog. for at se eksempel"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Udskrivningsapp gik ned"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"Ingen forbindelse til printer"</string>
<string name="reason_unknown" msgid="5507940196503246139">"ukendt"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – ikke tilgængelig"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Der kunne ikke genereres et udskriftsjob"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Sort/hvid"</item>
<item msgid="2762241247228983754">"Farve"</item>
diff --git a/packages/PrintSpooler/res/values-de/strings.xml b/packages/PrintSpooler/res/values-de/strings.xml
index f4aef65..96c601a 100644
--- a/packages/PrintSpooler/res/values-de/strings.xml
+++ b/packages/PrintSpooler/res/values-de/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Farbe"</string>
<string name="label_orientation" msgid="2853142581990496477">"Ausrichtung"</string>
<string name="label_pages" msgid="6300874667546617333">"Seiten (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"z. B. 1–5, 8, 11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Vorschau drucken"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"PDF-Viewer für Vorschau installieren"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Druck-App abgestürzt"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"Keine Verbindung zum Drucker"</string>
<string name="reason_unknown" msgid="5507940196503246139">"unbekannt"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – nicht verfügbar"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Druckauftrag konnte nicht generiert werden."</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Schwarz-weiß"</item>
<item msgid="2762241247228983754">"Farbe"</item>
diff --git a/packages/PrintSpooler/res/values-el/strings.xml b/packages/PrintSpooler/res/values-el/strings.xml
index dc3ac8d..2c5142d 100644
--- a/packages/PrintSpooler/res/values-el/strings.xml
+++ b/packages/PrintSpooler/res/values-el/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Χρώμα"</string>
<string name="label_orientation" msgid="2853142581990496477">"Προσανατολισμός"</string>
<string name="label_pages" msgid="6300874667546617333">"Σελίδες (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"π.χ. 1-5,8,11-13"</string>
<string name="print_preview" msgid="8010217796057763343">"Προεπισκόπηση εκτύπωσης"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Εγκαταστήστε το PDF viewer για προεπισκόπηση"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Διακοπή λειτουργίας εφαρμογής εκτύπωσης"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"Ακύρωση <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"Σφάλμα εκτυπωτή <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Ο εκτυπωτής απέκλεισε <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"εργασία εκτύπωσης <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"εργασίες εκτύπωσης <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"Ακύρωση"</string>
<string name="restart" msgid="2472034227037808749">"Επανεκκίνηση"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Δεν υπάρχει σύνδεση με εκτυπωτή"</string>
<string name="reason_unknown" msgid="5507940196503246139">"άγνωστο"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – μη διαθέσιμο"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Δεν ήταν δυνατή η δημιουργία εργασίας εκτύπωσης"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Ασπρόμαυρο"</item>
<item msgid="2762241247228983754">"Χρώμα"</item>
diff --git a/packages/PrintSpooler/res/values-en-rGB/strings.xml b/packages/PrintSpooler/res/values-en-rGB/strings.xml
index d94cbfb..5582c7a 100644
--- a/packages/PrintSpooler/res/values-en-rGB/strings.xml
+++ b/packages/PrintSpooler/res/values-en-rGB/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Colour"</string>
<string name="label_orientation" msgid="2853142581990496477">"Orientation"</string>
<string name="label_pages" msgid="6300874667546617333">"Pages (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"e.g. 1–5,8,11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Print preview"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Install PDF viewer for preview"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Printing app crashed"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"No connection to printer"</string>
<string name="reason_unknown" msgid="5507940196503246139">"unknown"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – unavailable"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Couldn\'t generate print job"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Black &amp; White"</item>
<item msgid="2762241247228983754">"Colour"</item>
diff --git a/packages/PrintSpooler/res/values-en-rIN/strings.xml b/packages/PrintSpooler/res/values-en-rIN/strings.xml
index d94cbfb..5582c7a 100644
--- a/packages/PrintSpooler/res/values-en-rIN/strings.xml
+++ b/packages/PrintSpooler/res/values-en-rIN/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Colour"</string>
<string name="label_orientation" msgid="2853142581990496477">"Orientation"</string>
<string name="label_pages" msgid="6300874667546617333">"Pages (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"e.g. 1–5,8,11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Print preview"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Install PDF viewer for preview"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Printing app crashed"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"No connection to printer"</string>
<string name="reason_unknown" msgid="5507940196503246139">"unknown"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – unavailable"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Couldn\'t generate print job"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Black &amp; White"</item>
<item msgid="2762241247228983754">"Colour"</item>
diff --git a/packages/PrintSpooler/res/values-es-rUS/arrays.xml b/packages/PrintSpooler/res/values-es-rUS/arrays.xml
new file mode 100644
index 0000000..d40278c
--- /dev/null
+++ b/packages/PrintSpooler/res/values-es-rUS/arrays.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<resources>
+
+ <string-array name="pdf_printer_media_sizes" translatable="false">
+ <item>NA_LETTER</item>
+ <item>NA_GOVT_LETTER</item>
+ <item>NA_LEGAL</item>
+ <item>NA_JUNIOR_LEGAL</item>
+ <item>NA_LEDGER</item>
+ <item>NA_TABLOID</item>
+ <item>NA_INDEX_3X5</item>
+ <item>NA_INDEX_4X6</item>
+ <item>NA_INDEX_5X8</item>
+ <item>NA_MONARCH</item>
+ <item>NA_QUARTO</item>
+ <item>NA_FOOLSCAP</item>
+ </string-array>
+
+</resources>
diff --git a/packages/PrintSpooler/res/values-es-rUS/strings.xml b/packages/PrintSpooler/res/values-es-rUS/strings.xml
index 13ca561..891ccf2 100644
--- a/packages/PrintSpooler/res/values-es-rUS/strings.xml
+++ b/packages/PrintSpooler/res/values-es-rUS/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Color"</string>
<string name="label_orientation" msgid="2853142581990496477">"Orientación"</string>
<string name="label_pages" msgid="6300874667546617333">"Páginas (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"Ej.: 1-5, 8, 11-13"</string>
<string name="print_preview" msgid="8010217796057763343">"Vista previa de impresión"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Instalar visualizador de PDF para vista previa"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"La aplicación de impresión falló"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"No hay conexión con la impresora."</string>
<string name="reason_unknown" msgid="5507940196503246139">"desconocido"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>: no disponible"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Error al generar el trabajo de impresión"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Blanco y negro"</item>
<item msgid="2762241247228983754">"Color"</item>
diff --git a/packages/PrintSpooler/res/values-es/strings.xml b/packages/PrintSpooler/res/values-es/strings.xml
index e0fd096..052e06c 100644
--- a/packages/PrintSpooler/res/values-es/strings.xml
+++ b/packages/PrintSpooler/res/values-es/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Color"</string>
<string name="label_orientation" msgid="2853142581990496477">"Orientación"</string>
<string name="label_pages" msgid="6300874667546617333">"Páginas (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"p. ej.: 1-5, 8, 11-13"</string>
<string name="print_preview" msgid="8010217796057763343">"Vista previa de impresión"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Instalar visor PDF para obtener vista previa"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Error de aplicación de impresión"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"Cancelando <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"Error de impresora <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"La impresora ha bloqueado <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"Trabajo de impresión <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"Trabajos de impresión <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"Cancelar"</string>
<string name="restart" msgid="2472034227037808749">"Volver a empezar"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"No hay conexión con la impresora"</string>
<string name="reason_unknown" msgid="5507940196503246139">"desconocido"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – no disponible"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Error al generar el trabajo de impresión"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Blanco y negro"</item>
<item msgid="2762241247228983754">"Color"</item>
diff --git a/packages/PrintSpooler/res/values-et-rEE/strings.xml b/packages/PrintSpooler/res/values-et-rEE/strings.xml
index 8f7fc58..814179d 100644
--- a/packages/PrintSpooler/res/values-et-rEE/strings.xml
+++ b/packages/PrintSpooler/res/values-et-rEE/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Värv"</string>
<string name="label_orientation" msgid="2853142581990496477">"Suund"</string>
<string name="label_pages" msgid="6300874667546617333">"Lehti (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"nt 1–5, 8, 11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Prindi eelvaade"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"PDF-vaaturi installimine eelvaate kuvamiseks"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Printimisrakendus jooksis kokku"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"Prinditöö <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> tühistamine"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"Printeri viga: <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Printer blokeeris töö <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"Prinditöö <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"Prinditööd <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"Tühista"</string>
<string name="restart" msgid="2472034227037808749">"Taaskäivita"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Printeriühendus puudub"</string>
<string name="reason_unknown" msgid="5507940196503246139">"teadmata"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – pole saadaval"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Prinditööd ei saanud luua"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Mustvalge"</item>
<item msgid="2762241247228983754">"Värv"</item>
diff --git a/packages/PrintSpooler/res/values-fa/strings.xml b/packages/PrintSpooler/res/values-fa/strings.xml
index 1f8324b..2bc3623 100644
--- a/packages/PrintSpooler/res/values-fa/strings.xml
+++ b/packages/PrintSpooler/res/values-fa/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"رنگی"</string>
<string name="label_orientation" msgid="2853142581990496477">"جهت"</string>
<string name="label_pages" msgid="6300874667546617333">"صفحات (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"‏‏‎مثلاً ۱—۵،‏۹،۷—۱۰"</string>
<string name="print_preview" msgid="8010217796057763343">"پیش‌نمایش چاپ"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"نصب نمایشگر PDF برای پیش‌نمایش"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"برنامه چاپ خراب شد"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"اتصال با چاپگر برقرار نیست"</string>
<string name="reason_unknown" msgid="5507940196503246139">"نامعلوم"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> - در دسترس نیست"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"کار چاپ ایجاد نشد"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"سیاه و سفید"</item>
<item msgid="2762241247228983754">"رنگی"</item>
diff --git a/packages/PrintSpooler/res/values-fi/strings.xml b/packages/PrintSpooler/res/values-fi/strings.xml
index 28ab391..1a7caa9 100644
--- a/packages/PrintSpooler/res/values-fi/strings.xml
+++ b/packages/PrintSpooler/res/values-fi/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Väri"</string>
<string name="label_orientation" msgid="2853142581990496477">"Suunta"</string>
<string name="label_pages" msgid="6300874667546617333">"Sivut (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"esim. 1–5,8,11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Tulostuksen esikatselu"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Asenna PDF-katseluohjelma esikatselua varten"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Tulostussovellus kaatui"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"Peruutetaan työ <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"Tulostinvirhe työlle <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Tulostin esti työn <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"Tulostustyö <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"Tulostustyöt <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"Peruuta"</string>
<string name="restart" msgid="2472034227037808749">"Käynnistä uudelleen"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Ei yhteyttä tulostimeen"</string>
<string name="reason_unknown" msgid="5507940196503246139">"tuntematon"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – ei käytettävissä"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Tulostustyötä ei voitu luoda"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Mustavalkoinen"</item>
<item msgid="2762241247228983754">"Väri"</item>
diff --git a/packages/PrintSpooler/res/values-fr-rCA/strings.xml b/packages/PrintSpooler/res/values-fr-rCA/strings.xml
index 7991dca..581f2a6 100644
--- a/packages/PrintSpooler/res/values-fr-rCA/strings.xml
+++ b/packages/PrintSpooler/res/values-fr-rCA/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Couleur"</string>
<string name="label_orientation" msgid="2853142581990496477">"Orientation"</string>
<string name="label_pages" msgid="6300874667546617333">"Pages (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"p. ex. 1-5, 8, 11-13"</string>
<string name="print_preview" msgid="8010217796057763343">"Aperçu avant impression"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Installer un lecteur PDF pour voir l\'aperçu"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"L\'application à l\'origine de l\'impression a planté"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"Aucune connexion à l\'imprimante"</string>
<string name="reason_unknown" msgid="5507940196503246139">"inconnu"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> — indisponible"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Impossible de générer la tâche d\'impression"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Noir et blanc"</item>
<item msgid="2762241247228983754">"Couleur"</item>
diff --git a/packages/PrintSpooler/res/values-fr/strings.xml b/packages/PrintSpooler/res/values-fr/strings.xml
index 9f2eda7..247a21b 100644
--- a/packages/PrintSpooler/res/values-fr/strings.xml
+++ b/packages/PrintSpooler/res/values-fr/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Couleur"</string>
<string name="label_orientation" msgid="2853142581990496477">"Orientation"</string>
<string name="label_pages" msgid="6300874667546617333">"Pages (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"ex. : 1-5, 8, 11-13"</string>
<string name="print_preview" msgid="8010217796057763343">"Aperçu avant impression"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Installer un lecteur PDF pour afficher l\'aperçu"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"L\'application à l\'origine de l\'impression a planté"</string>
@@ -53,16 +52,15 @@
<string name="failed_notification_title_template" msgid="2256217208186530973">"Erreur impression pour \"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>\""</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Impression de \"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>\" bloquée"</string>
<plurals name="composite_notification_title_template">
- <item quantity="one" msgid="5866624638054847057">"Tâche d\'impression <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
- <item quantity="other" msgid="8746611264734222865">"Tâches d\'impression <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="one" msgid="5866624638054847057">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> tâche d\'impression"</item>
+ <item quantity="other" msgid="8746611264734222865">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> tâches d\'impression"</item>
</plurals>
<string name="cancel" msgid="4373674107267141885">"Annuler"</string>
<string name="restart" msgid="2472034227037808749">"Redémarrer"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Aucune connexion à l\'imprimante."</string>
<string name="reason_unknown" msgid="5507940196503246139">"inconnue"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – indisponible"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Impossible de générer la tâche d\'impression."</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Noir et blanc"</item>
<item msgid="2762241247228983754">"Couleur"</item>
diff --git a/packages/PrintSpooler/res/values-hi/strings.xml b/packages/PrintSpooler/res/values-hi/strings.xml
index e34d2d4..5b1e406 100644
--- a/packages/PrintSpooler/res/values-hi/strings.xml
+++ b/packages/PrintSpooler/res/values-hi/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"रंग"</string>
<string name="label_orientation" msgid="2853142581990496477">"अभिविन्‍यास"</string>
<string name="label_pages" msgid="6300874667546617333">"पृष्‍ठ (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"उदा. 1—5,8,11—13"</string>
<string name="print_preview" msgid="8010217796057763343">"प्रिंट पूर्वावलोकन"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"पूर्वावलोकन के लिए PDF व्यूअर इंस्टॉल करें"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"प्रिंटिंग एप्लिकेशन क्रैश हो गया"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> रद्द हो रहा है"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"प्रिंटर त्रुटि <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"प्रिंटर अवरोधित <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> प्रिंट कार्य"</item>
+ <item quantity="other" msgid="8746611264734222865">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> प्रिंट कार्य"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"रद्द करें"</string>
<string name="restart" msgid="2472034227037808749">"पुन: आरंभ करें"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"प्रिंटर के लिए कोई कनेक्शन नहीं"</string>
<string name="reason_unknown" msgid="5507940196503246139">"अज्ञात"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – अनुपलब्ध"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"प्रिंट कार्य जनरेट नहीं किया जा सका"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"श्याम और श्वेत"</item>
<item msgid="2762241247228983754">"रंग"</item>
diff --git a/packages/PrintSpooler/res/values-hr/strings.xml b/packages/PrintSpooler/res/values-hr/strings.xml
index 0f225c8..fe2ee7a 100644
--- a/packages/PrintSpooler/res/values-hr/strings.xml
+++ b/packages/PrintSpooler/res/values-hr/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"U boji"</string>
<string name="label_orientation" msgid="2853142581990496477">"Orijentacija"</string>
<string name="label_pages" msgid="6300874667546617333">"Stranice (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"npr. 1 – 5,8,11 – 13"</string>
<string name="print_preview" msgid="8010217796057763343">"Pregled ispisa"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Instaliraj PDF preglednik za pregled"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Srušila se aplikacija za ispis"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"Otkazivanje zadatka <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"Pogreška pisača <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Pisač je blokirao <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"Zadatak ispisa <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"Broj zadataka ispisa: <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"Odustani"</string>
<string name="restart" msgid="2472034227037808749">"Ponovo pokreni"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Nema veze s pisačem"</string>
<string name="reason_unknown" msgid="5507940196503246139">"nepoznato"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – zadatak nije dostupan"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Zadatak ispisa nije generiran"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Crno-bijelo"</item>
<item msgid="2762241247228983754">"U boji"</item>
diff --git a/packages/PrintSpooler/res/values-hu/strings.xml b/packages/PrintSpooler/res/values-hu/strings.xml
index 3c3402d..49e103f 100644
--- a/packages/PrintSpooler/res/values-hu/strings.xml
+++ b/packages/PrintSpooler/res/values-hu/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Szín"</string>
<string name="label_orientation" msgid="2853142581990496477">"Tájolás"</string>
<string name="label_pages" msgid="6300874667546617333">"Oldalszám (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"pl. 1–5, 8, 11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Előnézet nyomtatása"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Az előnézethez telepítse a PDF-megtekintőt."</string>
<string name="printing_app_crashed" msgid="854477616686566398">"A nyomtatási alkalmazás összeomlott."</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"Nincs kapcsolat a nyomtatóval"</string>
<string name="reason_unknown" msgid="5507940196503246139">"ismeretlen"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – nem érhető el"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Nem sikerült létrehozni a nyomtatási feladatot."</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Fekete-fehér"</item>
<item msgid="2762241247228983754">"Szín"</item>
diff --git a/packages/PrintSpooler/res/values-hy-rAM/strings.xml b/packages/PrintSpooler/res/values-hy-rAM/strings.xml
index a524654..97fa171 100644
--- a/packages/PrintSpooler/res/values-hy-rAM/strings.xml
+++ b/packages/PrintSpooler/res/values-hy-rAM/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Գույնը"</string>
<string name="label_orientation" msgid="2853142581990496477">"Դիրքավորում"</string>
<string name="label_pages" msgid="6300874667546617333">"Էջեր (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"օր.՝ 1-5, 8, 11-13"</string>
<string name="print_preview" msgid="8010217796057763343">"Տպելու նախադիտում"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Նախադիտման համար տեղադրեք PDF դիտարկիչ"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Տպելու ծրագիրը վթարի է ենթարկվել"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>-ը չեղարկվում է"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"Տպիչի սխալ <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Տպիչն արգելափակել է <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>-ը"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> տպման աշխատանք"</item>
+ <item quantity="other" msgid="8746611264734222865">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> տպման աշխատանքներ"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"Չեղարկել"</string>
<string name="restart" msgid="2472034227037808749">"Վերագործարկել"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Տպիչի հետ կապ չկա"</string>
<string name="reason_unknown" msgid="5507940196503246139">"անհայտ"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> տպիչն անհասանելի է"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Չկարողացանք մշակել տպման աշխատանքը"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Սև ու սպիտակ"</item>
<item msgid="2762241247228983754">"Գույնը"</item>
diff --git a/packages/PrintSpooler/res/values-in/strings.xml b/packages/PrintSpooler/res/values-in/strings.xml
index 5f7a56e..a142aa3 100644
--- a/packages/PrintSpooler/res/values-in/strings.xml
+++ b/packages/PrintSpooler/res/values-in/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Warna"</string>
<string name="label_orientation" msgid="2853142581990496477">"Orientasi"</string>
<string name="label_pages" msgid="6300874667546617333">"(<xliff:g id="PAGE_COUNT">%1$s</xliff:g>) halaman"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"misalnya 1—5,8,11—13"</string>
<string name="print_preview" msgid="8010217796057763343">"Pratinjau cetak"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Pasang penampil PDF untuk pratinjau"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Aplikasi pencetakan mogok"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"Membatalkan <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"Ada kesalahan printer <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Printer memblokir <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"Tugas cetak <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"Tugas cetak <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"Batal"</string>
<string name="restart" msgid="2472034227037808749">"Mulai Ulang"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Tidak ada sambungan ke printer"</string>
<string name="reason_unknown" msgid="5507940196503246139">"tak diketahui"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – tidak tersedia"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Tidak dapat membuat tugas cetak"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Hitam &amp; Putih"</item>
<item msgid="2762241247228983754">"Warna"</item>
diff --git a/packages/PrintSpooler/res/values-it/strings.xml b/packages/PrintSpooler/res/values-it/strings.xml
index 5de5094..b63b2f4 100644
--- a/packages/PrintSpooler/res/values-it/strings.xml
+++ b/packages/PrintSpooler/res/values-it/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"A colori"</string>
<string name="label_orientation" msgid="2853142581990496477">"Orientamento"</string>
<string name="label_pages" msgid="6300874667546617333">"Pagine (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"Es.: 1-5, 8, 11-13"</string>
<string name="print_preview" msgid="8010217796057763343">"Anteprima di stampa"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Installa visualizzatore PDF per anteprima"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Arresto anomalo dell\'app di stampa"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"Nessun collegamento alla stampante"</string>
<string name="reason_unknown" msgid="5507940196503246139">"sconosciuto"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> - non disponibile"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Impossibile generare processo di stampa"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Bianco e nero"</item>
<item msgid="2762241247228983754">"A colori"</item>
diff --git a/packages/PrintSpooler/res/values-iw/strings.xml b/packages/PrintSpooler/res/values-iw/strings.xml
index dae65ca..e6f8e42 100644
--- a/packages/PrintSpooler/res/values-iw/strings.xml
+++ b/packages/PrintSpooler/res/values-iw/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"צבע"</string>
<string name="label_orientation" msgid="2853142581990496477">"כיוון"</string>
<string name="label_pages" msgid="6300874667546617333">"עמודים (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"למשל 1–5‏,8,‏11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"תצוגה מקדימה של הדפסה"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"התקן מציג PDF ליצירת תצוגה מקדימה"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"אפליקציית ההדפסה קרסה"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"מבטל את <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"שגיאת מדפסת ב-<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"המדפסת חסמה את <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"עבודת הדפסה <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> עבודות הדפסה"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"בטל"</string>
<string name="restart" msgid="2472034227037808749">"הפעל מחדש"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"אין חיבור למדפסת"</string>
<string name="reason_unknown" msgid="5507940196503246139">"לא ידוע"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – לא זמינה"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"לא ניתן היה ליצור את עבודת ההדפסה"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"שחור ולבן"</item>
<item msgid="2762241247228983754">"צבע"</item>
diff --git a/packages/PrintSpooler/res/values-ja/arrays.xml b/packages/PrintSpooler/res/values-ja/arrays.xml
new file mode 100644
index 0000000..57088c8
--- /dev/null
+++ b/packages/PrintSpooler/res/values-ja/arrays.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<resources>
+
+ <string-array name="pdf_printer_media_sizes" translatable="false">
+ <item>JIS_B10</item>
+ <item>JIS_B9</item>
+ <item>JIS_B8</item>
+ <item>JIS_B7</item>
+ <item>JIS_b6</item>
+ <item>JIS_b5</item>
+ <item>JIS_b4</item>
+ <item>JIS_b3</item>
+ <item>JIS_b2</item>
+ <item>JIS_b1</item>
+ <item>JIS_b0</item>
+ <item>JIS_EXEC</item>
+ <item>JPN_CHOU4</item>
+ <item>JPN_CHOU3</item>
+ <item>JPN_CHOU2</item>
+ <item>JPN_HAGAKI</item>
+ <item>JPN_OUFUKU</item>
+ <item>JPN_KAHU</item>
+ <item>JPN_KAKU2</item>
+ <item>JPN_YOU4</item>
+
+ </string-array>
+
+</resources>
diff --git a/packages/PrintSpooler/res/values-ja/strings.xml b/packages/PrintSpooler/res/values-ja/strings.xml
index 187698b..b9de967 100644
--- a/packages/PrintSpooler/res/values-ja/strings.xml
+++ b/packages/PrintSpooler/res/values-ja/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"色"</string>
<string name="label_orientation" msgid="2853142581990496477">"方向"</string>
<string name="label_pages" msgid="6300874667546617333">"ページ(<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"例: 1-5,8,11-13"</string>
<string name="print_preview" msgid="8010217796057763343">"印刷プレビュー"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"プレビュー用PDFビューアをインストール"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"印刷アプリでの障害発生"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>をキャンセルしています"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"プリンタエラー: <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>をブロックしました"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>の印刷ジョブ"</item>
+ <item quantity="other" msgid="8746611264734222865">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>の印刷ジョブ"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"キャンセル"</string>
<string name="restart" msgid="2472034227037808749">"再起動"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"プリンタに接続されていません"</string>
<string name="reason_unknown" msgid="5507940196503246139">"不明"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>–使用不可"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"印刷ジョブを生成できませんでした"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"モノクロ"</item>
<item msgid="2762241247228983754">"色"</item>
diff --git a/packages/PrintSpooler/res/values-ka-rGE/strings.xml b/packages/PrintSpooler/res/values-ka-rGE/strings.xml
index d519755..87c6ce8 100644
--- a/packages/PrintSpooler/res/values-ka-rGE/strings.xml
+++ b/packages/PrintSpooler/res/values-ka-rGE/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"ფერი"</string>
<string name="label_orientation" msgid="2853142581990496477">"ორიენტაცია"</string>
<string name="label_pages" msgid="6300874667546617333">"გვერდები (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"მაგ. 1–5, 8, 11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"ნახვა ამობეჭდვამდე"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"გადახედვისთვის დააყენეთ PDF მნახველი"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"ბეჭდვის აპი ავარიულად გაითიშა"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"მიმდინარეობს <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>-ის გაუქმება"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"ბეჭდვის შეცდომა <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"პრინტერმა დაბლოკა <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"ბეჭდვის <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> დავალება"</item>
+ <item quantity="other" msgid="8746611264734222865">"ბეჭდვის <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> დავალება"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"გაუქმება"</string>
<string name="restart" msgid="2472034227037808749">"გადატვირთვა"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"პრინტერთან კავშირი არ არის"</string>
<string name="reason_unknown" msgid="5507940196503246139">"უცნობი"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – მიუწვდომელია"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"ბეჭდვის დავალების გენერაცია ვერ ხერხდება"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"შავ-თეთრი"</item>
<item msgid="2762241247228983754">"ფერი"</item>
diff --git a/packages/PrintSpooler/res/values-km-rKH/strings.xml b/packages/PrintSpooler/res/values-km-rKH/strings.xml
index b766a19..74a15fd 100644
--- a/packages/PrintSpooler/res/values-km-rKH/strings.xml
+++ b/packages/PrintSpooler/res/values-km-rKH/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"ពណ៌"</string>
<string name="label_orientation" msgid="2853142581990496477">"ទិស"</string>
<string name="label_pages" msgid="6300874667546617333">"ទំព័រ (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"ឧ. 1—5,8,11—13"</string>
<string name="print_preview" msgid="8010217796057763343">"មើល​មុន​បោះពុម្ព"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"ដំឡើង​កម្មវិធី​មើល PDF សម្រាប់​ការ​មើល​ជា​មុន"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"កម្មវិធី​បោះពុម្ព​គាំង"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"គ្មាន​​​ការ​ភ្ជាប់​ទៅ​ម៉ាស៊ីន​បោះពុម្ព"</string>
<string name="reason_unknown" msgid="5507940196503246139">"មិន​ស្គាល់"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – មិន​អាច​ប្រើ​បាន"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"មិន​អាច​បង្កើត​ការ​ងារ​បោះពុម្ព"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"ស &amp; ខ្មៅ"</item>
<item msgid="2762241247228983754">"ពណ៌"</item>
diff --git a/packages/PrintSpooler/res/values-ko/strings.xml b/packages/PrintSpooler/res/values-ko/strings.xml
index 01642c9..2f26099 100644
--- a/packages/PrintSpooler/res/values-ko/strings.xml
+++ b/packages/PrintSpooler/res/values-ko/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"색상"</string>
<string name="label_orientation" msgid="2853142581990496477">"방향"</string>
<string name="label_pages" msgid="6300874667546617333">"페이지 수(<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"예: 1-5, 8, 11-13"</string>
<string name="print_preview" msgid="8010217796057763343">"인쇄 미리보기"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"미리보기용 PDF 뷰어 설치"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"인쇄 앱에 오류 발생"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> 취소 중"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"프린터 오류: <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"차단된 프린터: <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> 인쇄 작업"</item>
+ <item quantity="other" msgid="8746611264734222865">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> 인쇄 작업"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"취소"</string>
<string name="restart" msgid="2472034227037808749">"다시 시작"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"프린터와 연결되지 않음"</string>
<string name="reason_unknown" msgid="5507940196503246139">"알 수 없음"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – 사용할 수 없음"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"인쇄 작업을 생성할 수 없습니다."</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"흑백"</item>
<item msgid="2762241247228983754">"컬러"</item>
diff --git a/packages/PrintSpooler/res/values-land/constants.xml b/packages/PrintSpooler/res/values-land/constants.xml
new file mode 100644
index 0000000..d68b77e
--- /dev/null
+++ b/packages/PrintSpooler/res/values-land/constants.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<resources>
+
+ <dimen name="printer_list_view_padding_start">48dip</dimen>
+ <dimen name="printer_list_view_padding_end">48dip</dimen>
+
+</resources>
diff --git a/packages/PrintSpooler/res/values-lo-rLA/strings.xml b/packages/PrintSpooler/res/values-lo-rLA/strings.xml
index cf3a5f7..8c0b37a 100644
--- a/packages/PrintSpooler/res/values-lo-rLA/strings.xml
+++ b/packages/PrintSpooler/res/values-lo-rLA/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"ສີ"</string>
<string name="label_orientation" msgid="2853142581990496477">"ລວງ"</string>
<string name="label_pages" msgid="6300874667546617333">"(<xliff:g id="PAGE_COUNT">%1$s</xliff:g>) ໜ້າ"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"ຕົວຢ່າງ: 1—5,8,11—13"</string>
<string name="print_preview" msgid="8010217796057763343">"ເບິ່ງກ່ອນພິມ"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"ຕິດຕັ້ງໂປຼແກຼມເບິ່ງ PDF ເພື່ອເບິ່ງຕົວຢ່າງ"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"ແອັບຯພິມລົ້ມເຫລວ"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"ບໍ່ມີການເຊື່ອມຕໍ່ຫາເຄື່ອງພິມ"</string>
<string name="reason_unknown" msgid="5507940196503246139">"ບໍ່ຮູ້ຈັກ"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> - ບໍ່ມີຢູ່"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"ບໍ່​ສາ​ມາດ​ສ້າງວຽກພິມໄດ້"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"ຂາວດຳ"</item>
<item msgid="2762241247228983754">"ສີ"</item>
diff --git a/packages/PrintSpooler/res/values-lt/strings.xml b/packages/PrintSpooler/res/values-lt/strings.xml
index c8475fe..708b528 100644
--- a/packages/PrintSpooler/res/values-lt/strings.xml
+++ b/packages/PrintSpooler/res/values-lt/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Spalva"</string>
<string name="label_orientation" msgid="2853142581990496477">"Orientacija"</string>
<string name="label_pages" msgid="6300874667546617333">"Puslapiai (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"pvz., 1–5, 8, 11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Spaudinio peržiūra"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Įdiegti PDF peržiūros priemonę"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Spausdinimo programa užstrigo"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"Nėra ryšio su spausdintuvu"</string>
<string name="reason_unknown" msgid="5507940196503246139">"nežinoma"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"„<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>“ – nepasiekiama"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Nepavyko sukurti spausdinimo užduoties"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Nespalvotas"</item>
<item msgid="2762241247228983754">"Spalva"</item>
diff --git a/packages/PrintSpooler/res/values-lv/strings.xml b/packages/PrintSpooler/res/values-lv/strings.xml
index 3e277dd..ec5855f 100644
--- a/packages/PrintSpooler/res/values-lv/strings.xml
+++ b/packages/PrintSpooler/res/values-lv/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Krāsa"</string>
<string name="label_orientation" msgid="2853142581990496477">"Virziens"</string>
<string name="label_pages" msgid="6300874667546617333">"Lapas (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"piem., 1–5,8,11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Drukas priekšskatījums"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Instalēt PDF skatītāju priekšskatīšanai"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Drukas lietotne avarēja"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"Pārtrauc drukas darbu <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>…"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"Printera kļūda ar darbu <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Printeris bloķēja darbu <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"Drukas darbs <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"Drukas darbi <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"Atcelt"</string>
<string name="restart" msgid="2472034227037808749">"Restartēt"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Nav savienojuma ar printeri"</string>
<string name="reason_unknown" msgid="5507940196503246139">"nezināms"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> — nav pieejams"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Nevarēja ģenerēt drukas darbu"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Melnbalts"</item>
<item msgid="2762241247228983754">"Krāsa"</item>
diff --git a/packages/PrintSpooler/res/values-mn-rMN/strings.xml b/packages/PrintSpooler/res/values-mn-rMN/strings.xml
index 7487308..0a64954 100644
--- a/packages/PrintSpooler/res/values-mn-rMN/strings.xml
+++ b/packages/PrintSpooler/res/values-mn-rMN/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Өнгө"</string>
<string name="label_orientation" msgid="2853142581990496477">"Чиглэл"</string>
<string name="label_pages" msgid="6300874667546617333">"(<xliff:g id="PAGE_COUNT">%1$s</xliff:g>) хуудас"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"ж.нь. 1–5, 8, 11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Хэвлэхээр урьдчилан харах"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Урьдчилан харахын тулд PDF харагчийг суулгах"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Хэвлэгч апп гацсан"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"Принтер холбогдоогүй байна"</string>
<string name="reason_unknown" msgid="5507940196503246139">"тодорхойгүй"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – ашиглах боломжгүй"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Хэвлэх ажлыг үүсгэж чадсангүй"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Хар &amp; Цагаан"</item>
<item msgid="2762241247228983754">"Өнгө"</item>
diff --git a/packages/PrintSpooler/res/values-ms-rMY/strings.xml b/packages/PrintSpooler/res/values-ms-rMY/strings.xml
index 9a2dca3..8bf0083 100644
--- a/packages/PrintSpooler/res/values-ms-rMY/strings.xml
+++ b/packages/PrintSpooler/res/values-ms-rMY/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Warna"</string>
<string name="label_orientation" msgid="2853142581990496477">"Orientasi"</string>
<string name="label_pages" msgid="6300874667546617333">"Halaman (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"cth. 1—5,8,11—13"</string>
<string name="print_preview" msgid="8010217796057763343">"Pratonton cetak"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Pasang pemapar PDF untuk pratonton"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Apl percetakan ranap"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"Membatalkan <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"Ralat pencetak <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Pencetak disekat <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"Kerja cetakan <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"Kerja cetakan <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"Batal"</string>
<string name="restart" msgid="2472034227037808749">"Mulakan semula"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Tiada sambungan ke pencetak"</string>
<string name="reason_unknown" msgid="5507940196503246139">"tidak diketahui"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – tidak tersedia"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Tidak dapat menjana kerja cetakan"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Hitam &amp; Putih"</item>
<item msgid="2762241247228983754">"Warna"</item>
diff --git a/packages/PrintSpooler/res/values-nb/strings.xml b/packages/PrintSpooler/res/values-nb/strings.xml
index 77798ea..dd660d0 100644
--- a/packages/PrintSpooler/res/values-nb/strings.xml
+++ b/packages/PrintSpooler/res/values-nb/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Farge"</string>
<string name="label_orientation" msgid="2853142581990496477">"Retning"</string>
<string name="label_pages" msgid="6300874667546617333">"Sider (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"f.eks. 1–5, 8,11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Utskriftsforhåndsvisning"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Installer PDF-leser for forhåndsvisning"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Utskriftsappen krasjet"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"Ingen forbindelse med skriveren"</string>
<string name="reason_unknown" msgid="5507940196503246139">"ukjent"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – utilgjengelig"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Kunne ikke generere utskriftsjobben"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Svart og hvitt"</item>
<item msgid="2762241247228983754">"Farge"</item>
diff --git a/packages/PrintSpooler/res/values-nl/strings.xml b/packages/PrintSpooler/res/values-nl/strings.xml
index e576e0c..ce4b0df 100644
--- a/packages/PrintSpooler/res/values-nl/strings.xml
+++ b/packages/PrintSpooler/res/values-nl/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Kleur"</string>
<string name="label_orientation" msgid="2853142581990496477">"Stand"</string>
<string name="label_pages" msgid="6300874667546617333">"Pagina\'s (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"bijv. 1—5,8,11—13"</string>
<string name="print_preview" msgid="8010217796057763343">"Afdrukvoorbeeld"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Pdf-viewer installeren voor voorbeeld"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Afdruk-app gecrasht"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"Geen verbinding met printer"</string>
<string name="reason_unknown" msgid="5507940196503246139">"onbekend"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – niet beschikbaar"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Kan de afdruktaak niet genereren"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Zwart-wit"</item>
<item msgid="2762241247228983754">"Kleur"</item>
diff --git a/packages/PrintSpooler/res/values-pl/strings.xml b/packages/PrintSpooler/res/values-pl/strings.xml
index 252c582..5883863 100644
--- a/packages/PrintSpooler/res/values-pl/strings.xml
+++ b/packages/PrintSpooler/res/values-pl/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Kolor"</string>
<string name="label_orientation" msgid="2853142581990496477">"Orientacja"</string>
<string name="label_pages" msgid="6300874667546617333">"Strony (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"np. 1-5, 8, 11-13"</string>
<string name="print_preview" msgid="8010217796057763343">"Podgląd wydruku"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Zainstaluj przeglądarkę PDF, by zobaczyć podgląd"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Aplikacja drukująca uległa awarii"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"Brak połączenia z drukarką"</string>
<string name="reason_unknown" msgid="5507940196503246139">"brak informacji"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – niedostępne"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Nie udało się wygenerować zadania drukowania"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Czarno-białe"</item>
<item msgid="2762241247228983754">"Kolor"</item>
diff --git a/packages/PrintSpooler/res/values-pt-rPT/strings.xml b/packages/PrintSpooler/res/values-pt-rPT/strings.xml
index 4c3dc76..577d316 100644
--- a/packages/PrintSpooler/res/values-pt-rPT/strings.xml
+++ b/packages/PrintSpooler/res/values-pt-rPT/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Cor"</string>
<string name="label_orientation" msgid="2853142581990496477">"Orientação"</string>
<string name="label_pages" msgid="6300874667546617333">"Páginas (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"p. ex. 1-5, 8, 11-13"</string>
<string name="print_preview" msgid="8010217796057763343">"Pré-visualização de impressão"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Instalar o leitor de PDF para pré-visualização"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"A aplicação de impressão bloqueou"</string>
@@ -53,16 +52,15 @@
<string name="failed_notification_title_template" msgid="2256217208186530973">"Erro da impressora <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"A impressora bloqueou <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<plurals name="composite_notification_title_template">
- <item quantity="one" msgid="5866624638054847057">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> tarefa de impressão"</item>
- <item quantity="other" msgid="8746611264734222865">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> tarefas de impressão"</item>
+ <item quantity="one" msgid="5866624638054847057">"Tarefa de impressão: <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"Tarefas de impressão: <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
</plurals>
<string name="cancel" msgid="4373674107267141885">"Cancelar"</string>
<string name="restart" msgid="2472034227037808749">"Reiniciar"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Sem ligação à impressora"</string>
<string name="reason_unknown" msgid="5507940196503246139">"desconhecido"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – indisponível"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Não foi possível gerar a tarefa de impressão"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Preto e branco"</item>
<item msgid="2762241247228983754">"Cor"</item>
diff --git a/packages/PrintSpooler/res/values-pt/strings.xml b/packages/PrintSpooler/res/values-pt/strings.xml
index 5e13b9f..8d86086 100644
--- a/packages/PrintSpooler/res/values-pt/strings.xml
+++ b/packages/PrintSpooler/res/values-pt/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Cor"</string>
<string name="label_orientation" msgid="2853142581990496477">"Orientação"</string>
<string name="label_pages" msgid="6300874667546617333">"Páginas (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"Ex.: 1–5, 8, 11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Visualização de impressão"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Instalar o visualizador de PDF"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"O aplicativo de impressão falhou"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"Cancelando <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"Erro ao imprimir <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"A impressora bloqueou <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"Trabalho de impressão <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"Trabalhos de impressão <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"Cancelar"</string>
<string name="restart" msgid="2472034227037808749">"Reiniciar"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Sem conexão com a impressora"</string>
<string name="reason_unknown" msgid="5507940196503246139">"desconhecido"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – não disponível"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Não foi possível gerar o trabalho de impressão"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Preto e branco"</item>
<item msgid="2762241247228983754">"Cor"</item>
diff --git a/packages/PrintSpooler/res/values-ro/strings.xml b/packages/PrintSpooler/res/values-ro/strings.xml
index 34571df..82a8c8c 100644
--- a/packages/PrintSpooler/res/values-ro/strings.xml
+++ b/packages/PrintSpooler/res/values-ro/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Color"</string>
<string name="label_orientation" msgid="2853142581990496477">"Orientare"</string>
<string name="label_pages" msgid="6300874667546617333">"Pagini (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"de ex. 1-5, 8, 11-13"</string>
<string name="print_preview" msgid="8010217796057763343">"Previzualizați printarea"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Instalați PDF viewer pentru previzualizare"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Aplicația de printare s-a blocat"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"Nu există conexiune la o imprimantă"</string>
<string name="reason_unknown" msgid="5507940196503246139">"necunoscut"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> - indisponibil"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Nu s-a putut genera sarcina de printare"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Alb-negru"</item>
<item msgid="2762241247228983754">"Color"</item>
diff --git a/packages/PrintSpooler/res/values-ru/strings.xml b/packages/PrintSpooler/res/values-ru/strings.xml
index 35695e6..3d4cf6a 100644
--- a/packages/PrintSpooler/res/values-ru/strings.xml
+++ b/packages/PrintSpooler/res/values-ru/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Цветной"</string>
<string name="label_orientation" msgid="2853142581990496477">"Ориентация"</string>
<string name="label_pages" msgid="6300874667546617333">"СТРАНИЦЫ (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"напр., 1–5, 8, 11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Предварительный просмотр"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Установить средство просмотра PDF"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Сбой приложения печати"</string>
@@ -38,12 +37,12 @@
<string name="search" msgid="5421724265322228497">"Поиск"</string>
<string name="all_printers_label" msgid="3178848870161526399">"Все принтеры"</string>
<string name="add_print_service_label" msgid="5356702546188981940">"Добавить службу печати"</string>
- <string name="print_search_box_shown_utterance" msgid="7967404953901376090">"Открыто окно поиска"</string>
+ <string name="print_search_box_shown_utterance" msgid="7967404953901376090">"Окно поиска показано"</string>
<string name="print_search_box_hidden_utterance" msgid="5727755169343113351">"Окно поиска скрыто"</string>
<string name="print_add_printer" msgid="1088656468360653455">"Добавить принтер"</string>
<plurals name="print_search_result_count_utterance">
<item quantity="one" msgid="4484953260685964252">"Найден <xliff:g id="COUNT">%1$s</xliff:g> принтер"</item>
- <item quantity="other" msgid="6533817036607128241">"Найдено несколько принтеров (<xliff:g id="COUNT">%1$s</xliff:g>)"</item>
+ <item quantity="other" msgid="6533817036607128241">"Найдено принтеров: <xliff:g id="COUNT">%1$s</xliff:g>"</item>
</plurals>
<string name="choose_print_service" msgid="3740309762324459694">"Выберите службу печати"</string>
<string name="print_searching_for_printers" msgid="6550424555079932867">"Поиск принтеров…"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"Отмена задания <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>…"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"Ошибка задания \"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>\""</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Задание \"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>\" заблокировано"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"Задание печати: <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"Задания печати: <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"Отмена"</string>
<string name="restart" msgid="2472034227037808749">"Повторить"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Нет связи с принтером"</string>
<string name="reason_unknown" msgid="5507940196503246139">"неизвестно"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – недоступен"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Не удалось отправить документ на печать."</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Черно-белое"</item>
<item msgid="2762241247228983754">"Цветное"</item>
diff --git a/packages/PrintSpooler/res/values-sk/strings.xml b/packages/PrintSpooler/res/values-sk/strings.xml
index 008481f..6135a19 100644
--- a/packages/PrintSpooler/res/values-sk/strings.xml
+++ b/packages/PrintSpooler/res/values-sk/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Farba"</string>
<string name="label_orientation" msgid="2853142581990496477">"Orientácia"</string>
<string name="label_pages" msgid="6300874667546617333">"STRÁNKY (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"napr. 1–5, 8, 11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Ukážka pred tlačou"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Inštalovať zobrazovač PDF na zobrazenie ukážky"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Aplikácia pre tlač zlyhala"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"Prebieha zrušenie úlohy <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"Chyba tlačiarne – úloha <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Tlačiareň zablok. úlohu <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"Počet tlačových úloh: <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"Počet tlačových úloh: <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"Zrušiť"</string>
<string name="restart" msgid="2472034227037808749">"Spustiť znova"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Žiadne pripojenie k tlačiarni"</string>
<string name="reason_unknown" msgid="5507940196503246139">"neznáme"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – nie je k dispozícii"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Tlačovú úlohu nie je možné vytvoriť"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Čiernobiele"</item>
<item msgid="2762241247228983754">"Farba"</item>
diff --git a/packages/PrintSpooler/res/values-sl/strings.xml b/packages/PrintSpooler/res/values-sl/strings.xml
index 40a69c2..b369cf3 100644
--- a/packages/PrintSpooler/res/values-sl/strings.xml
+++ b/packages/PrintSpooler/res/values-sl/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Barvno"</string>
<string name="label_orientation" msgid="2853142581990496477">"Postavitev"</string>
<string name="label_pages" msgid="6300874667546617333">"Št. strani (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"npr. 1–5, 8, 11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Predogled tiskanja"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Za predogled namestite pregledovalnik za PDF-je"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Aplikacija za tiskanje se je zrušila"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"Ni povezave s tiskalnikom"</string>
<string name="reason_unknown" msgid="5507940196503246139">"neznano"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – ni na voljo"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Tiskalnega opravila ni bilo mogoče ustvariti"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Črno-belo"</item>
<item msgid="2762241247228983754">"Barvno"</item>
diff --git a/packages/PrintSpooler/res/values-sr/strings.xml b/packages/PrintSpooler/res/values-sr/strings.xml
index 7cc5ec5..a09fa4c 100644
--- a/packages/PrintSpooler/res/values-sr/strings.xml
+++ b/packages/PrintSpooler/res/values-sr/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Боја"</string>
<string name="label_orientation" msgid="2853142581990496477">"Положај"</string>
<string name="label_pages" msgid="6300874667546617333">"Странице (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"нпр. 1–5, 8, 11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Преглед пре штампања"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Инсталирај PDF приказивач за преглед"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Апликација за штампање је отказала"</string>
@@ -38,7 +37,7 @@
<string name="search" msgid="5421724265322228497">"Претражи"</string>
<string name="all_printers_label" msgid="3178848870161526399">"Сви штампачи"</string>
<string name="add_print_service_label" msgid="5356702546188981940">"Додај услугу"</string>
- <string name="print_search_box_shown_utterance" msgid="7967404953901376090">"Оквир за претрагу се приказује"</string>
+ <string name="print_search_box_shown_utterance" msgid="7967404953901376090">"Оквир за претрагу је приказан"</string>
<string name="print_search_box_hidden_utterance" msgid="5727755169343113351">"Оквир за претрагу је сакривен"</string>
<string name="print_add_printer" msgid="1088656468360653455">"Додај штампач"</string>
<plurals name="print_search_result_count_utterance">
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"Отказује се <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"Грешка штампача <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Штампач је блокирао <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"Задатак штампања <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"Задаци штампања <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"Откажи"</string>
<string name="restart" msgid="2472034227037808749">"Поново покрени"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Нема везе са штампачем"</string>
<string name="reason_unknown" msgid="5507940196503246139">"непознато"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – недоступан"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Није могуће генерисати задатак за штампање"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Црно-бело"</item>
<item msgid="2762241247228983754">"Боја"</item>
diff --git a/packages/PrintSpooler/res/values-sv/strings.xml b/packages/PrintSpooler/res/values-sv/strings.xml
index 8f75bf5..85d7e6e 100644
--- a/packages/PrintSpooler/res/values-sv/strings.xml
+++ b/packages/PrintSpooler/res/values-sv/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Färg"</string>
<string name="label_orientation" msgid="2853142581990496477">"Orientering"</string>
<string name="label_pages" msgid="6300874667546617333">"Sidor (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"t.ex. 1–5,8,11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Förhandsgranskning"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Installera PDF-läsare för förhandsgranskning"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Utskriftsappen kraschade"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"Ingen anslutning till skrivaren"</string>
<string name="reason_unknown" msgid="5507940196503246139">"okänt"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – inte tillgänglig"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Det gick inte att skapa utskriftsjobbet"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Svartvit"</item>
<item msgid="2762241247228983754">"Färg"</item>
diff --git a/packages/PrintSpooler/res/values-sw/strings.xml b/packages/PrintSpooler/res/values-sw/strings.xml
index 1991832..b8842e7 100644
--- a/packages/PrintSpooler/res/values-sw/strings.xml
+++ b/packages/PrintSpooler/res/values-sw/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Rangi"</string>
<string name="label_orientation" msgid="2853142581990496477">"Mkao"</string>
<string name="label_pages" msgid="6300874667546617333">"Kurasa (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"k.m. 1–5, 8, 11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Chungulia kwanza kabla ya kuchapisha"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Sakinisha kitazamaji cha PDF kwa onyesho la kuchungulia"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Programu ya kuchapisha imeacha kufanya kazi"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"Inaghairi <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"Hitilafu ya kuchapisha <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Printa imefungwa <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"Kazi ya kuchapisha ya <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"Kazi za kuchapisha za <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"Ghairi"</string>
<string name="restart" msgid="2472034227037808749">"Anzisha upya"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Hakuna muunganisho kwa printa"</string>
<string name="reason_unknown" msgid="5507940196503246139">"haijulikani"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> - haipatikani"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Haikuweza kuunda kazi ya kuchapisha"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Nyeusi na Nyeupe"</item>
<item msgid="2762241247228983754">"Rangi"</item>
diff --git a/packages/PrintSpooler/res/values-th/strings.xml b/packages/PrintSpooler/res/values-th/strings.xml
index 0d247a5..08b2e78 100644
--- a/packages/PrintSpooler/res/values-th/strings.xml
+++ b/packages/PrintSpooler/res/values-th/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"สี"</string>
<string name="label_orientation" msgid="2853142581990496477">"การวางแนว"</string>
<string name="label_pages" msgid="6300874667546617333">"หน้า (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"เช่น 1—5,8,11—13"</string>
<string name="print_preview" msgid="8010217796057763343">"ตัวอย่างก่อนพิมพ์"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"ติดตั้งโปรแกรมดู PDF เพื่อดูหน้าตัวอย่าง"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"แอปการพิมพ์ขัดข้อง"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"กำลังยกเลิก <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"ข้อผิดพลาดเครื่องพิมพ์ <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"เครื่องพิมพ์ได้บล็อก <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"งานพิมพ์ <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"งานพิมพ์ <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"ยกเลิก"</string>
<string name="restart" msgid="2472034227037808749">"เริ่มต้นใหม่"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"ไม่มีการเชื่อมต่อไปยังเครื่องพิมพ์"</string>
<string name="reason_unknown" msgid="5507940196503246139">"ไม่ทราบ"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> ไม่พร้อมใช้งาน"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"ไม่สามารถสร้างงานพิมพ์"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"ขาวดำ"</item>
<item msgid="2762241247228983754">"สี"</item>
diff --git a/packages/PrintSpooler/res/values-tl/strings.xml b/packages/PrintSpooler/res/values-tl/strings.xml
index 087cf49..c2c9592 100644
--- a/packages/PrintSpooler/res/values-tl/strings.xml
+++ b/packages/PrintSpooler/res/values-tl/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Kulay"</string>
<string name="label_orientation" msgid="2853142581990496477">"Oryentasyon"</string>
<string name="label_pages" msgid="6300874667546617333">"Mga Pahina (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"hal. 1—5,8,11—13"</string>
<string name="print_preview" msgid="8010217796057763343">"Preview sa pag-print"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Mag-install ng PDF viewer para sa pag-preview"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Nag-crash ang app sa pag-print"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"Kinakansela ang <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"Error sa printer <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Naka-block ang Printer <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"Pag-print ng <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"Mga pag-print ng <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"Kanselahin"</string>
<string name="restart" msgid="2472034227037808749">"I-restart"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Hindi nakakonekta sa printer"</string>
<string name="reason_unknown" msgid="5507940196503246139">"hindi alam"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – hindi available"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Hindi mabuo ang pag-print"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Black &amp; White"</item>
<item msgid="2762241247228983754">"Kulay"</item>
diff --git a/packages/PrintSpooler/res/values-tr/strings.xml b/packages/PrintSpooler/res/values-tr/strings.xml
index 8127c4b..ab82666 100644
--- a/packages/PrintSpooler/res/values-tr/strings.xml
+++ b/packages/PrintSpooler/res/values-tr/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Renkli"</string>
<string name="label_orientation" msgid="2853142581990496477">"Sayfa yönü"</string>
<string name="label_pages" msgid="6300874667546617333">"Sayfa (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"ör. 1-5,8,11-13"</string>
<string name="print_preview" msgid="8010217796057763343">"Yazdırmayı önizle"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Önizlemek için PDF görüntüleyici yükleyin"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Yazdırma uygulaması kilitlendi"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> iptal ediliyor"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"Yazıcı hatası: <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Yazıcı <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> işini engelledi"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> yazdırma işi"</item>
+ <item quantity="other" msgid="8746611264734222865">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> yazdırma işleri"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"İptal"</string>
<string name="restart" msgid="2472034227037808749">"Yeniden başlat"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Yazıcı bağlantısı yok"</string>
<string name="reason_unknown" msgid="5507940196503246139">"bilinmiyor"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – kullanılamıyor"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Yazdırma işi oluşturulamadı"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Siyah Beyaz"</item>
<item msgid="2762241247228983754">"Renkli"</item>
diff --git a/packages/PrintSpooler/res/values-uk/strings.xml b/packages/PrintSpooler/res/values-uk/strings.xml
index cd28f3c..21cf0e9 100644
--- a/packages/PrintSpooler/res/values-uk/strings.xml
+++ b/packages/PrintSpooler/res/values-uk/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Колір"</string>
<string name="label_orientation" msgid="2853142581990496477">"Орієнтація"</string>
<string name="label_pages" msgid="6300874667546617333">"Сторінки (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"напр.,1–5, 8, 11–13"</string>
<string name="print_preview" msgid="8010217796057763343">"Версія для друку"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Установити засіб перегляду PDF"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Програма друку аварійно завершила роботу"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"Немає з’єднання з принтером"</string>
<string name="reason_unknown" msgid="5507940196503246139">"невідомо"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"Завдання \"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>\" не доступне"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Не вдалося створити завдання друку"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Чорно-білий"</item>
<item msgid="2762241247228983754">"Колір"</item>
diff --git a/packages/PrintSpooler/res/values-vi/strings.xml b/packages/PrintSpooler/res/values-vi/strings.xml
index 3c44e7d..9582f00 100644
--- a/packages/PrintSpooler/res/values-vi/strings.xml
+++ b/packages/PrintSpooler/res/values-vi/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Màu"</string>
<string name="label_orientation" msgid="2853142581990496477">"Hướng"</string>
<string name="label_pages" msgid="6300874667546617333">"Trang (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"Ví dụ: 1—5, 8, 11—13"</string>
<string name="print_preview" msgid="8010217796057763343">"Xem trước bản in"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Cài đặt trình xem PDF để xem trước"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Ứng dụng in gặp lỗi"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"Hủy <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"Lỗi máy in <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"Máy in đã chặn <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"Lệnh in <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ <item quantity="other" msgid="8746611264734222865">"Lệnh in <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"Hủy"</string>
<string name="restart" msgid="2472034227037808749">"Bắt đầu lại"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"Không có kết nối nào với máy in"</string>
<string name="reason_unknown" msgid="5507940196503246139">"không xác định"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – không khả dụng"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Không thể tạo lệnh in"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Đen trắng"</item>
<item msgid="2762241247228983754">"Màu"</item>
diff --git a/packages/PrintSpooler/res/values-zh-rCN/arrays.xml b/packages/PrintSpooler/res/values-zh-rCN/arrays.xml
new file mode 100644
index 0000000..4fc75db
--- /dev/null
+++ b/packages/PrintSpooler/res/values-zh-rCN/arrays.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<resources>
+
+ <string-array name="pdf_printer_media_sizes" translatable="false">
+ <item>ROC_8K</item>
+ <item>ROC_16K</item>
+ <item>PRC_1</item>
+ <item>PRC_2</item>
+ <item>PRC_3</item>
+ <item>PRC_4</item>
+ <item>PRC_5</item>
+ <item>PRC_6</item>
+ <item>PRC_7</item>
+ <item>PRC_8</item>
+ <item>PRC_9</item>
+ <item>PRC_10</item>
+ <item>PRC_16K</item>
+ <item>OM_PA_KAI</item>
+ <item>OM_DAI_PA_KAI</item>
+ <item>OM_JUURO_KU_KAI</item>
+ </string-array>
+
+</resources>
diff --git a/packages/PrintSpooler/res/values-zh-rCN/strings.xml b/packages/PrintSpooler/res/values-zh-rCN/strings.xml
index a968d26..606baea 100644
--- a/packages/PrintSpooler/res/values-zh-rCN/strings.xml
+++ b/packages/PrintSpooler/res/values-zh-rCN/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"颜色"</string>
<string name="label_orientation" msgid="2853142581990496477">"方向"</string>
<string name="label_pages" msgid="6300874667546617333">"页数 (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"例如:1-5、8、11-13"</string>
<string name="print_preview" msgid="8010217796057763343">"打印预览"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"安装 PDF 查看器以便预览"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"打印应用崩溃了"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"正在取消打印“<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>”"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"打印机在打印“<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>”时出错"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"打印机拒绝打印“<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>”"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"“<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>”打印作业"</item>
+ <item quantity="other" msgid="8746611264734222865">"“<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g>”打印作业"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"取消"</string>
<string name="restart" msgid="2472034227037808749">"重新开始"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"未与打印机建立连接"</string>
<string name="reason_unknown" msgid="5507940196503246139">"未知"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> - 无法使用"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"无法生成打印作业"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"黑白"</item>
<item msgid="2762241247228983754">"彩色"</item>
diff --git a/packages/PrintSpooler/res/values-zh-rHK/strings.xml b/packages/PrintSpooler/res/values-zh-rHK/strings.xml
index c089a22..4b5d5c9 100644
--- a/packages/PrintSpooler/res/values-zh-rHK/strings.xml
+++ b/packages/PrintSpooler/res/values-zh-rHK/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"顏色"</string>
<string name="label_orientation" msgid="2853142581990496477">"方向"</string>
<string name="label_pages" msgid="6300874667546617333">"頁數 (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"例如:1-5,8,11-13"</string>
<string name="print_preview" msgid="8010217796057763343">"預覽列印"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"安裝預覽所需的 PDF 檢視器"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"列印應用程式當機了"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"正在取消 <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"打印機錯誤:<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"打印機已封鎖 <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"一項 <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> 列印工作"</item>
+ <item quantity="other" msgid="8746611264734222865">"多項 <xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> 列印工作"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"取消"</string>
<string name="restart" msgid="2472034227037808749">"重新開始"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"尚未與打印機連線"</string>
<string name="reason_unknown" msgid="5507940196503246139">"不明"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – 無法使用"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"無法產生列印工作"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"黑白"</item>
<item msgid="2762241247228983754">"彩色"</item>
diff --git a/packages/PrintSpooler/res/values-zh-rTW/strings.xml b/packages/PrintSpooler/res/values-zh-rTW/strings.xml
index 1d84ac5..18908118 100644
--- a/packages/PrintSpooler/res/values-zh-rTW/strings.xml
+++ b/packages/PrintSpooler/res/values-zh-rTW/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"色彩"</string>
<string name="label_orientation" msgid="2853142581990496477">"方向"</string>
<string name="label_pages" msgid="6300874667546617333">"頁數 (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"例如:1—5,8,11—13"</string>
<string name="print_preview" msgid="8010217796057763343">"列印預覽"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"安裝預覽所需的 PDF 檢視器"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"列印應用程式當機了"</string>
@@ -34,7 +33,7 @@
<string name="generating_print_job" msgid="3119608742651698916">"正在產生列印工作"</string>
<string name="save_as_pdf" msgid="5718454119847596853">"儲存為 PDF"</string>
<string name="all_printers" msgid="5018829726861876202">"所有印表機…"</string>
- <string name="print_dialog" msgid="32628687461331979">"列印對話方塊"</string>
+ <string name="print_dialog" msgid="32628687461331979">"印表機對話方塊"</string>
<string name="search" msgid="5421724265322228497">"搜尋"</string>
<string name="all_printers_label" msgid="3178848870161526399">"所有印表機"</string>
<string name="add_print_service_label" msgid="5356702546188981940">"新增服務"</string>
@@ -52,15 +51,16 @@
<string name="cancelling_notification_title_template" msgid="1821759594704703197">"正在取消 <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="failed_notification_title_template" msgid="2256217208186530973">"印表機發生錯誤:<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
<string name="blocked_notification_title_template" msgid="1175435827331588646">"印表機封鎖了 <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
- <!-- no translation found for composite_notification_title_template:one (5866624638054847057) -->
- <!-- no translation found for composite_notification_title_template:other (8746611264734222865) -->
+ <plurals name="composite_notification_title_template">
+ <item quantity="one" msgid="5866624638054847057">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> 個列印工作"</item>
+ <item quantity="other" msgid="8746611264734222865">"<xliff:g id="PRINT_JOB_NAME">%1$d</xliff:g> 個列印工作"</item>
+ </plurals>
<string name="cancel" msgid="4373674107267141885">"取消"</string>
<string name="restart" msgid="2472034227037808749">"重新開始"</string>
<string name="no_connection_to_printer" msgid="2159246915977282728">"尚未與印表機建立連線"</string>
<string name="reason_unknown" msgid="5507940196503246139">"不明"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – 無法使用"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"無法產生列印工作"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"黑白"</item>
<item msgid="2762241247228983754">"彩色"</item>
diff --git a/packages/PrintSpooler/res/values-zu/strings.xml b/packages/PrintSpooler/res/values-zu/strings.xml
index 1bf72a6..06472e4 100644
--- a/packages/PrintSpooler/res/values-zu/strings.xml
+++ b/packages/PrintSpooler/res/values-zu/strings.xml
@@ -25,8 +25,7 @@
<string name="label_color" msgid="1108690305218188969">"Umbala"</string>
<string name="label_orientation" msgid="2853142581990496477">"Umumo"</string>
<string name="label_pages" msgid="6300874667546617333">"Amakhasi (<xliff:g id="PAGE_COUNT">%1$s</xliff:g>)"</string>
- <!-- no translation found for pages_range_example (8558694453556945172) -->
- <skip />
+ <string name="pages_range_example" msgid="8558694453556945172">"isb. 1—5, 8, 11—13"</string>
<string name="print_preview" msgid="8010217796057763343">"Ukubuka kuqala kokuphrinta"</string>
<string name="install_for_print_preview" msgid="6366303997385509332">"Faka isibukeli se-PDF ukuze uhlole kuqala"</string>
<string name="printing_app_crashed" msgid="854477616686566398">"Ukuphrinta uhlelo lokusebenza kukhubazekile"</string>
@@ -61,8 +60,7 @@
<string name="no_connection_to_printer" msgid="2159246915977282728">"Akukho ukuxhumana kuphrinta"</string>
<string name="reason_unknown" msgid="5507940196503246139">"akwaziwa"</string>
<string name="printer_unavailable" msgid="2434170617003315690">"I-<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> – ayitholakali"</string>
- <!-- no translation found for print_error_default_message (8568506918983980567) -->
- <skip />
+ <string name="print_error_default_message" msgid="8568506918983980567">"Ayikwazanga ukukhiqiza umsebenzi wokuphrinta"</string>
<string-array name="color_mode_labels">
<item msgid="7602948745415174937">"Okumnyama nokumhlophe"</item>
<item msgid="2762241247228983754">"Umbala"</item>
diff --git a/packages/PrintSpooler/res/values/constants.xml b/packages/PrintSpooler/res/values/constants.xml
index e5a9d5d..e9c925c 100644
--- a/packages/PrintSpooler/res/values/constants.xml
+++ b/packages/PrintSpooler/res/values/constants.xml
@@ -26,4 +26,7 @@
<dimen name="print_dialog_frame_max_width_dip">400dip</dimen>
-</resources> \ No newline at end of file
+ <dimen name="printer_list_view_padding_start">16dip</dimen>
+ <dimen name="printer_list_view_padding_end">16dip</dimen>
+
+</resources>
diff --git a/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java b/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java
index 22a9950..787b59a 100644
--- a/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java
+++ b/packages/PrintSpooler/src/com/android/printspooler/PrintJobConfigActivity.java
@@ -40,6 +40,7 @@ import android.os.Message;
import android.os.RemoteException;
import android.print.ILayoutResultCallback;
import android.print.IPrintDocumentAdapter;
+import android.print.IPrintDocumentAdapterObserver;
import android.print.IWriteResultCallback;
import android.print.PageRange;
import android.print.PrintAttributes;
@@ -201,6 +202,14 @@ public class PrintJobConfigActivity extends Activity {
throw new IllegalArgumentException("PrintDocumentAdapter cannot be null");
}
+ try {
+ IPrintDocumentAdapter.Stub.asInterface(mIPrintDocumentAdapter)
+ .setObserver(new PrintDocumentAdapterObserver(this));
+ } catch (RemoteException re) {
+ finish();
+ return;
+ }
+
PrintAttributes attributes = printJob.getAttributes();
if (attributes != null) {
mCurrPrintAttributes.copyFrom(attributes);
@@ -249,27 +258,29 @@ public class PrintJobConfigActivity extends Activity {
// We can safely do the work in here since at this point
// the system is bound to our (spooler) process which
// guarantees that this process will not be killed.
- if (mController.hasStarted()) {
+ if (mController != null && mController.hasStarted()) {
mController.finish();
}
- if (mEditor.isPrintConfirmed() && mController.isFinished()) {
- mSpoolerProvider.getSpooler().setPrintJobState(mPrintJobId,
- PrintJobInfo.STATE_QUEUED, null);
+ if (mEditor != null && mEditor.isPrintConfirmed()
+ && mController != null && mController.isFinished()) {
+ mSpoolerProvider.getSpooler().setPrintJobState(mPrintJobId,
+ PrintJobInfo.STATE_QUEUED, null);
} else {
mSpoolerProvider.getSpooler().setPrintJobState(mPrintJobId,
PrintJobInfo.STATE_CANCELED, null);
}
- mIPrintDocumentAdapter.unlinkToDeath(mDeathRecipient, 0);
if (mGeneratingPrintJobDialog != null) {
mGeneratingPrintJobDialog.dismiss();
mGeneratingPrintJobDialog = null;
}
+ mIPrintDocumentAdapter.unlinkToDeath(mDeathRecipient, 0);
mSpoolerProvider.destroy();
super.onDestroy();
}
public boolean onTouchEvent(MotionEvent event) {
- if (!mEditor.isPrintConfirmed() && mEditor.shouldCloseOnTouch(event)) {
+ if (mController != null && mEditor != null &&
+ !mEditor.isPrintConfirmed() && mEditor.shouldCloseOnTouch(event)) {
if (!mController.isWorking()) {
PrintJobConfigActivity.this.finish();
}
@@ -287,17 +298,19 @@ public class PrintJobConfigActivity extends Activity {
}
public boolean onKeyUp(int keyCode, KeyEvent event) {
- if (keyCode == KeyEvent.KEYCODE_BACK) {
- if (mEditor.isShwoingGeneratingPrintJobUi()) {
- return true;
- }
- if (event.isTracking() && !event.isCanceled()) {
- if (!mController.isWorking()) {
- PrintJobConfigActivity.this.finish();
+ if (mController != null && mEditor != null) {
+ if (keyCode == KeyEvent.KEYCODE_BACK) {
+ if (mEditor.isShwoingGeneratingPrintJobUi()) {
+ return true;
+ }
+ if (event.isTracking() && !event.isCanceled()) {
+ if (!mController.isWorking()) {
+ PrintJobConfigActivity.this.finish();
+ }
}
+ mEditor.cancel();
+ return true;
}
- mEditor.cancel();
- return true;
}
return super.onKeyUp(keyCode, event);
}
@@ -1248,13 +1261,20 @@ public class PrintJobConfigActivity extends Activity {
continue;
}
+ // If nothing changed - done.
+ if (mCurrentPrinter.equals(printer)) {
+ return;
+ }
+
// If the current printer became available and has no
// capabilities, we refresh it.
if (mCurrentPrinter.getStatus() == PrinterInfo.STATUS_UNAVAILABLE
&& printer.getStatus() != PrinterInfo.STATUS_UNAVAILABLE
- && printer.getCapabilities() == null
- && !mCapabilitiesTimeout.isPosted()) {
- mCapabilitiesTimeout.post();
+ && printer.getCapabilities() == null) {
+ if (!mCapabilitiesTimeout.isPosted()) {
+ mCapabilitiesTimeout.post();
+ }
+ mCurrentPrinter.copyFrom(printer);
refreshCurrentPrinter();
return;
}
@@ -1268,10 +1288,10 @@ public class PrintJobConfigActivity extends Activity {
&& printer.getCapabilities() == null)) {
if (!mCapabilitiesTimeout.isPosted()) {
mCapabilitiesTimeout.post();
- mCurrentPrinter.copyFrom(printer);
- updateUi();
- return;
}
+ mCurrentPrinter.copyFrom(printer);
+ updateUi();
+ return;
}
// We just refreshed the current printer.
@@ -2168,10 +2188,17 @@ public class PrintJobConfigActivity extends Activity {
mIsPosted = false;
if (mDestinationSpinner.getSelectedItemPosition() >= 0) {
View itemView = mDestinationSpinner.getSelectedView();
- TextView titleView = (TextView) itemView.findViewById(R.id.title);
- String title = getString(R.string.printer_unavailable,
- mCurrentPrinter.getName());
- titleView.setText(title);
+ TextView titleView = (TextView) itemView.findViewById(R.id.subtitle);
+ try {
+ PackageInfo packageInfo = getPackageManager().getPackageInfo(
+ mCurrentPrinter.getId().getServiceName().getPackageName(), 0);
+ CharSequence service = packageInfo.applicationInfo.loadLabel(
+ getPackageManager());
+ String subtitle = getString(R.string.printer_unavailable, service.toString());
+ titleView.setText(subtitle);
+ } catch (NameNotFoundException nnfe) {
+ /* ignore */
+ }
}
}
}
@@ -2289,8 +2316,6 @@ public class PrintJobConfigActivity extends Activity {
R.layout.printer_dropdown_item, parent, false);
}
- convertView.getLayoutParams().width = mDestinationSpinner.getWidth();
-
CharSequence title = null;
CharSequence subtitle = null;
Drawable icon = null;
@@ -2339,7 +2364,7 @@ public class PrintJobConfigActivity extends Activity {
iconView.setImageDrawable(icon);
iconView.setVisibility(View.VISIBLE);
} else {
- iconView.setVisibility(View.GONE);
+ iconView.setVisibility(View.INVISIBLE);
}
return convertView;
@@ -2689,4 +2714,32 @@ public class PrintJobConfigActivity extends Activity {
/* do noting - we are in the same process */
}
}
+
+ private static final class PrintDocumentAdapterObserver
+ extends IPrintDocumentAdapterObserver.Stub {
+ private final WeakReference<PrintJobConfigActivity> mWeakActvity;
+
+ public PrintDocumentAdapterObserver(PrintJobConfigActivity activity) {
+ mWeakActvity = new WeakReference<PrintJobConfigActivity>(activity);
+ }
+
+ @Override
+ public void onDestroy() {
+ final PrintJobConfigActivity activity = mWeakActvity.get();
+ if (activity != null) {
+ activity.mController.mHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ if (activity.mController != null) {
+ activity.mController.cancel();
+ }
+ if (activity.mEditor != null) {
+ activity.mEditor.cancel();
+ }
+ activity.finish();
+ }
+ });
+ }
+ }
+ }
}
diff --git a/packages/PrintSpooler/src/com/android/printspooler/SelectPrinterFragment.java b/packages/PrintSpooler/src/com/android/printspooler/SelectPrinterFragment.java
index d688932..204c152 100644
--- a/packages/PrintSpooler/src/com/android/printspooler/SelectPrinterFragment.java
+++ b/packages/PrintSpooler/src/com/android/printspooler/SelectPrinterFragment.java
@@ -22,7 +22,6 @@ import android.app.Dialog;
import android.app.DialogFragment;
import android.app.Fragment;
import android.app.FragmentTransaction;
-import android.app.ListFragment;
import android.app.LoaderManager;
import android.content.ActivityNotFoundException;
import android.content.ComponentName;
@@ -47,12 +46,14 @@ import android.printservice.PrintServiceInfo;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
+import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityManager;
+import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.Filter;
@@ -68,7 +69,7 @@ import java.util.List;
/**
* This is a fragment for selecting a printer.
*/
-public final class SelectPrinterFragment extends ListFragment {
+public final class SelectPrinterFragment extends Fragment {
private static final String LOG_TAG = "SelectPrinterFragment";
@@ -83,6 +84,8 @@ public final class SelectPrinterFragment extends ListFragment {
private final ArrayList<PrintServiceInfo> mAddPrinterServices =
new ArrayList<PrintServiceInfo>();
+ private ListView mListView;
+
private AnnounceFilterResult mAnnounceFilterResult;
public static interface OnPrinterSelectedListener {
@@ -93,11 +96,16 @@ public final class SelectPrinterFragment extends ListFragment {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
+ getActivity().getActionBar().setIcon(R.drawable.ic_menu_print);
}
@Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ View content = inflater.inflate(R.layout.select_printer_fragment, container, false);
+
+ // Hook up the list view.
+ mListView = (ListView) content.findViewById(android.R.id.list);
final DestinationAdapter adapter = new DestinationAdapter();
adapter.registerDataSetObserver(new DataSetObserver() {
@Override
@@ -114,7 +122,23 @@ public final class SelectPrinterFragment extends ListFragment {
}
}
});
- setListAdapter(adapter);
+ mListView.setAdapter(adapter);
+
+ mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+ PrinterInfo printer = (PrinterInfo) mListView.getAdapter().getItem(position);
+ Activity activity = getActivity();
+ if (activity instanceof OnPrinterSelectedListener) {
+ ((OnPrinterSelectedListener) activity).onPrinterSelected(printer.getId());
+ } else {
+ throw new IllegalStateException("the host activity must implement"
+ + " OnPrinterSelectedListener");
+ }
+ }
+ });
+
+ return content;
}
@Override
@@ -132,7 +156,7 @@ public final class SelectPrinterFragment extends ListFragment {
@Override
public boolean onQueryTextChange(String searchString) {
- ((DestinationAdapter) getListAdapter()).getFilter().filter(searchString);
+ ((DestinationAdapter) mListView.getAdapter()).getFilter().filter(searchString);
return true;
}
});
@@ -176,18 +200,6 @@ public final class SelectPrinterFragment extends ListFragment {
}
@Override
- public void onListItemClick(ListView list, View view, int position, long id) {
- PrinterInfo printer = (PrinterInfo) list.getAdapter().getItem(position);
- Activity activity = getActivity();
- if (activity instanceof OnPrinterSelectedListener) {
- ((OnPrinterSelectedListener) activity).onPrinterSelected(printer.getId());
- } else {
- throw new IllegalStateException("the host activity must implement"
- + " OnPrinterSelectedListener");
- }
- }
-
- @Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.action_add_printer) {
showAddPrinterSelectionDialog();
@@ -259,9 +271,9 @@ public final class SelectPrinterFragment extends ListFragment {
}
public void updateEmptyView(DestinationAdapter adapter) {
- if (getListView().getEmptyView() == null) {
+ if (mListView.getEmptyView() == null) {
View emptyView = getActivity().findViewById(R.id.empty_print_state);
- getListView().setEmptyView(emptyView);
+ mListView.setEmptyView(emptyView);
}
TextView titleView = (TextView) getActivity().findViewById(R.id.title);
View progressBar = getActivity().findViewById(R.id.progress_bar);
@@ -449,7 +461,7 @@ public final class SelectPrinterFragment extends ListFragment {
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = getActivity().getLayoutInflater().inflate(
- R.layout.printer_dropdown_item, parent, false);
+ R.layout.printer_list_item, parent, false);
}
convertView.setEnabled(isEnabled(position));
@@ -538,16 +550,16 @@ public final class SelectPrinterFragment extends ListFragment {
public void post() {
remove();
- getListView().postDelayed(this, SEARCH_RESULT_ANNOUNCEMENT_DELAY);
+ mListView.postDelayed(this, SEARCH_RESULT_ANNOUNCEMENT_DELAY);
}
public void remove() {
- getListView().removeCallbacks(this);
+ mListView.removeCallbacks(this);
}
@Override
public void run() {
- final int count = getListView().getAdapter().getCount();
+ final int count = mListView.getAdapter().getCount();
final String text;
if (count <= 0) {
text = getString(R.string.print_no_printers);
@@ -555,7 +567,7 @@ public final class SelectPrinterFragment extends ListFragment {
text = getActivity().getResources().getQuantityString(
R.plurals.print_search_result_count_utterance, count, count);
}
- getListView().announceForAccessibility(text);
+ mListView.announceForAccessibility(text);
}
}
}
diff --git a/packages/SettingsProvider/AndroidManifest.xml b/packages/SettingsProvider/AndroidManifest.xml
index ab2feb9..783aa03 100644
--- a/packages/SettingsProvider/AndroidManifest.xml
+++ b/packages/SettingsProvider/AndroidManifest.xml
@@ -8,7 +8,7 @@
android:process="system"
android:backupAgent="SettingsBackupAgent"
android:killAfterRestore="false"
- android:icon="@drawable/ic_launcher_settings">
+ android:icon="@mipmap/ic_launcher_settings">
<!-- todo add: android:neverEncrypt="true" -->
diff --git a/packages/SettingsProvider/res/drawable-hdpi/ic_launcher_settings.png b/packages/SettingsProvider/res/drawable-hdpi/ic_launcher_settings.png
deleted file mode 100644
index 8a5a2f7..0000000
--- a/packages/SettingsProvider/res/drawable-hdpi/ic_launcher_settings.png
+++ /dev/null
Binary files differ
diff --git a/packages/SettingsProvider/res/drawable-mdpi/ic_launcher_settings.png b/packages/SettingsProvider/res/drawable-mdpi/ic_launcher_settings.png
deleted file mode 100644
index 803439f..0000000
--- a/packages/SettingsProvider/res/drawable-mdpi/ic_launcher_settings.png
+++ /dev/null
Binary files differ
diff --git a/packages/SettingsProvider/res/drawable-xhdpi/ic_launcher_settings.png b/packages/SettingsProvider/res/drawable-xhdpi/ic_launcher_settings.png
deleted file mode 100644
index ec3c8ea..0000000
--- a/packages/SettingsProvider/res/drawable-xhdpi/ic_launcher_settings.png
+++ /dev/null
Binary files differ
diff --git a/packages/SettingsProvider/res/mipmap-hdpi/ic_launcher_settings.png b/packages/SettingsProvider/res/mipmap-hdpi/ic_launcher_settings.png
new file mode 100644
index 0000000..a8ccc89
--- /dev/null
+++ b/packages/SettingsProvider/res/mipmap-hdpi/ic_launcher_settings.png
Binary files differ
diff --git a/packages/SettingsProvider/res/mipmap-mdpi/ic_launcher_settings.png b/packages/SettingsProvider/res/mipmap-mdpi/ic_launcher_settings.png
new file mode 100644
index 0000000..69709a8
--- /dev/null
+++ b/packages/SettingsProvider/res/mipmap-mdpi/ic_launcher_settings.png
Binary files differ
diff --git a/packages/SettingsProvider/res/mipmap-xhdpi/ic_launcher_settings.png b/packages/SettingsProvider/res/mipmap-xhdpi/ic_launcher_settings.png
new file mode 100644
index 0000000..c3adce61
--- /dev/null
+++ b/packages/SettingsProvider/res/mipmap-xhdpi/ic_launcher_settings.png
Binary files differ
diff --git a/packages/SettingsProvider/res/mipmap-xxhdpi/ic_launcher_settings.png b/packages/SettingsProvider/res/mipmap-xxhdpi/ic_launcher_settings.png
new file mode 100644
index 0000000..52fe978
--- /dev/null
+++ b/packages/SettingsProvider/res/mipmap-xxhdpi/ic_launcher_settings.png
Binary files differ
diff --git a/packages/SettingsProvider/res/mipmap-xxxhdpi/ic_launcher_settings.png b/packages/SettingsProvider/res/mipmap-xxxhdpi/ic_launcher_settings.png
new file mode 100644
index 0000000..6b92795
--- /dev/null
+++ b/packages/SettingsProvider/res/mipmap-xxxhdpi/ic_launcher_settings.png
Binary files differ
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index bc02b0d..158227f 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -47,6 +47,7 @@ import android.os.Bundle;
import android.os.DropBoxManager;
import android.os.FileObserver;
import android.os.ParcelFileDescriptor;
+import android.os.Process;
import android.os.SystemProperties;
import android.os.UserHandle;
import android.os.UserManager;
@@ -62,6 +63,8 @@ public class SettingsProvider extends ContentProvider {
private static final String TAG = "SettingsProvider";
private static final boolean LOCAL_LOGV = false;
+ private static final boolean USER_CHECK_THROWS = true;
+
private static final String TABLE_SYSTEM = "system";
private static final String TABLE_SECURE = "secure";
private static final String TABLE_GLOBAL = "global";
@@ -522,6 +525,14 @@ public class SettingsProvider extends ContentProvider {
// Lazy initialize the database helper and caches for this user, if necessary
private DatabaseHelper getOrEstablishDatabase(int callingUser) {
+ if (callingUser >= Process.SYSTEM_UID) {
+ if (USER_CHECK_THROWS) {
+ throw new IllegalArgumentException("Uid rather than user handle: " + callingUser);
+ } else {
+ Slog.wtf(TAG, "establish db for uid rather than user: " + callingUser);
+ }
+ }
+
long oldId = Binder.clearCallingIdentity();
try {
DatabaseHelper dbHelper = mOpenHelpers.get(callingUser);
diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml
index 260a3be..09ac2da 100644
--- a/packages/SystemUI/AndroidManifest.xml
+++ b/packages/SystemUI/AndroidManifest.xml
@@ -200,7 +200,8 @@
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:hardwareAccelerated="true"
android:launchMode="singleInstance"
- android:configChanges="orientation|screenSize"
+ android:screenOrientation="locked"
+ android:process=":sweetsweetdesserts"
android:excludeFromRecents="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
@@ -215,6 +216,7 @@
android:exported="true"
android:label="@string/dessert_case"
android:enabled="false"
+ android:process=":sweetsweetdesserts"
>
<intent-filter>
<action android:name="android.service.dreams.DreamService" />
diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_signal_full_1.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_signal_full_1.png
index e20fdf7..2e3e486 100644
--- a/packages/SystemUI/res/drawable-hdpi/ic_qs_signal_full_1.png
+++ b/packages/SystemUI/res/drawable-hdpi/ic_qs_signal_full_1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_signal_full_2.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_signal_full_2.png
index 79c9099..04e8220 100644
--- a/packages/SystemUI/res/drawable-hdpi/ic_qs_signal_full_2.png
+++ b/packages/SystemUI/res/drawable-hdpi/ic_qs_signal_full_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_signal_full_3.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_signal_full_3.png
index 8cb1cec..f8ed8f0 100644
--- a/packages/SystemUI/res/drawable-hdpi/ic_qs_signal_full_3.png
+++ b/packages/SystemUI/res/drawable-hdpi/ic_qs_signal_full_3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_0.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_0.png
index 6aa522b..c416fc3 100644
--- a/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_0.png
+++ b/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_1.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_1.png
index 2afa621..93b45b4 100644
--- a/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_1.png
+++ b/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_2.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_2.png
index c873c55..21b2c61 100644
--- a/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_2.png
+++ b/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_3.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_3.png
index e3e0e8d..cd96ae0 100644
--- a/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_3.png
+++ b/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_4.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_4.png
index 2762df5..43bfe3a 100644
--- a/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_4.png
+++ b/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_full_4.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_not_connected.png b/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_not_connected.png
index c9e0a7c..c416fc3 100644
--- a/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_not_connected.png
+++ b/packages/SystemUI/res/drawable-hdpi/ic_qs_wifi_not_connected.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_signal_0.png b/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_signal_0.png
index d924756..49f9d8d 100644
--- a/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_signal_0.png
+++ b/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_signal_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_signal_full_0.png b/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_signal_full_0.png
index 8177ef9..49f9d8d 100644
--- a/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_signal_full_0.png
+++ b/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_signal_full_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_signal_full_2.png b/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_signal_full_2.png
index ec4b0a6..050dde5 100644
--- a/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_signal_full_2.png
+++ b/packages/SystemUI/res/drawable-ldrtl-hdpi/ic_qs_signal_full_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_signal_0.png b/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_signal_0.png
index cdf76e2..ad699e2 100644
--- a/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_signal_0.png
+++ b/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_signal_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_signal_full_0.png b/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_signal_full_0.png
index d41a2c7..ad699e2 100644
--- a/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_signal_full_0.png
+++ b/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_signal_full_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_signal_full_2.png b/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_signal_full_2.png
index 2f21063..55e7125 100644
--- a/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_signal_full_2.png
+++ b/packages/SystemUI/res/drawable-ldrtl-mdpi/ic_qs_signal_full_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_signal_0.png b/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_signal_0.png
index 10c6905..e50be70 100644
--- a/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_signal_0.png
+++ b/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_signal_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_signal_full_0.png b/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_signal_full_0.png
index ef8c677..e50be70 100644
--- a/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_signal_full_0.png
+++ b/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_signal_full_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_signal_full_2.png b/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_signal_full_2.png
index 8d3dede..5a69da2 100644
--- a/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_signal_full_2.png
+++ b/packages/SystemUI/res/drawable-ldrtl-xhdpi/ic_qs_signal_full_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_signal_0.png b/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_signal_0.png
index 5c378ef..5298d41 100644
--- a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_signal_0.png
+++ b/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_signal_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_signal_full_0.png b/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_signal_full_0.png
index 6db5d0d..a9c0849 100644
--- a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_signal_full_0.png
+++ b/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_signal_full_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_signal_full_2.png b/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_signal_full_2.png
index 4faff9b..3a1678f 100644
--- a/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_signal_full_2.png
+++ b/packages/SystemUI/res/drawable-ldrtl-xxhdpi/ic_qs_signal_full_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_signal_full_1.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_signal_full_1.png
index 52faded..1d063d7 100644
--- a/packages/SystemUI/res/drawable-mdpi/ic_qs_signal_full_1.png
+++ b/packages/SystemUI/res/drawable-mdpi/ic_qs_signal_full_1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_signal_full_2.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_signal_full_2.png
index bcf825d..b8551ac 100644
--- a/packages/SystemUI/res/drawable-mdpi/ic_qs_signal_full_2.png
+++ b/packages/SystemUI/res/drawable-mdpi/ic_qs_signal_full_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_signal_full_3.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_signal_full_3.png
index f9de3ef..25e5586 100644
--- a/packages/SystemUI/res/drawable-mdpi/ic_qs_signal_full_3.png
+++ b/packages/SystemUI/res/drawable-mdpi/ic_qs_signal_full_3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_0.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_0.png
index 42210a6..b177999 100644
--- a/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_0.png
+++ b/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_1.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_1.png
index 092ddbb..b3318bc 100644
--- a/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_1.png
+++ b/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_2.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_2.png
index e10a1da..18f5307 100644
--- a/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_2.png
+++ b/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_3.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_3.png
index bd235ae..6d08001 100644
--- a/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_3.png
+++ b/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_4.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_4.png
index 5873b37..ef3023e 100644
--- a/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_4.png
+++ b/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_full_4.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_not_connected.png b/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_not_connected.png
index fdf34bf..b177999 100644
--- a/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_not_connected.png
+++ b/packages/SystemUI/res/drawable-mdpi/ic_qs_wifi_not_connected.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_signal_full_1.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_signal_full_1.png
index 58317e3..d6af953 100644
--- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_signal_full_1.png
+++ b/packages/SystemUI/res/drawable-xhdpi/ic_qs_signal_full_1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_signal_full_2.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_signal_full_2.png
index 57b8039..a702239 100644
--- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_signal_full_2.png
+++ b/packages/SystemUI/res/drawable-xhdpi/ic_qs_signal_full_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_signal_full_3.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_signal_full_3.png
index 0cb099c..33e0310 100644
--- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_signal_full_3.png
+++ b/packages/SystemUI/res/drawable-xhdpi/ic_qs_signal_full_3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_0.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_0.png
index 5599069..2afe504 100644
--- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_0.png
+++ b/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_1.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_1.png
index 0702c31..6df8484 100644
--- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_1.png
+++ b/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_2.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_2.png
index 6693090..d7915c6 100644
--- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_2.png
+++ b/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_3.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_3.png
index ded4c67..c3773d2 100644
--- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_3.png
+++ b/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_4.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_4.png
index c2e0da9..263d697 100644
--- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_4.png
+++ b/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_full_4.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_not_connected.png b/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_not_connected.png
index 2344349..2afe504 100644
--- a/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_not_connected.png
+++ b/packages/SystemUI/res/drawable-xhdpi/ic_qs_wifi_not_connected.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_signal_full_1.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_signal_full_1.png
index edc44ab..d8556b2 100644
--- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_signal_full_1.png
+++ b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_signal_full_1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_signal_full_2.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_signal_full_2.png
index 5bd9b76..b913f6e 100644
--- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_signal_full_2.png
+++ b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_signal_full_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_signal_full_3.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_signal_full_3.png
index 16196a0..7a1de13 100644
--- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_signal_full_3.png
+++ b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_signal_full_3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_0.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_0.png
index f1d9f21..1951654 100644
--- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_0.png
+++ b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_0.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_1.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_1.png
index dbae28c..f60d8a5 100644
--- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_1.png
+++ b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_1.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_2.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_2.png
index 06e8d5b..ac88239 100644
--- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_2.png
+++ b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_2.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_3.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_3.png
index bff132b..4a3c770 100644
--- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_3.png
+++ b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_3.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_4.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_4.png
index 636bd702..b7e7d6f 100644
--- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_4.png
+++ b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_full_4.png
Binary files differ
diff --git a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_not_connected.png b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_not_connected.png
index 9c5a207..89c8fc1 100644
--- a/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_not_connected.png
+++ b/packages/SystemUI/res/drawable-xxhdpi/ic_qs_wifi_not_connected.png
Binary files differ
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index 9bf8de8..9d537c5 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -61,7 +61,7 @@
<string name="usb_debugging_always" msgid="303335496705863070">"Dóna sempre permís des d\'aquest equip"</string>
<string name="compat_mode_on" msgid="6623839244840638213">"Zoom per omplir pantalla"</string>
<string name="compat_mode_off" msgid="4434467572461327898">"Estira per omplir pant."</string>
- <string name="screenshot_saving_ticker" msgid="7403652894056693515">"Desant captura de pantalla..."</string>
+ <string name="screenshot_saving_ticker" msgid="7403652894056693515">"S\'està desant captura de pantalla..."</string>
<string name="screenshot_saving_title" msgid="8242282144535555697">"S\'està desant la captura de pantalla..."</string>
<string name="screenshot_saving_text" msgid="2419718443411738818">"La captura de pantalla s\'ha desat."</string>
<string name="screenshot_saved_title" msgid="6461865960961414961">"S\'ha fet una captura de pantalla."</string>
diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml
index da958bf..8ec75fc 100644
--- a/packages/SystemUI/res/values-hi/strings.xml
+++ b/packages/SystemUI/res/values-hi/strings.xml
@@ -22,7 +22,7 @@
<string name="app_label" msgid="7164937344850004466">"सिस्‍टम UI"</string>
<string name="status_bar_clear_all_button" msgid="7774721344716731603">"साफ़ करें"</string>
<string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"सूची से निकालें"</string>
- <string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"एप्‍स जानकारी"</string>
+ <string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"ऐप्स जानकारी"</string>
<string name="status_bar_no_recent_apps" msgid="6576392951053994640">"कोई हाल ही के एप्स नहीं"</string>
<string name="status_bar_accessibility_dismiss_recents" msgid="4576076075226540105">"हाल ही के एप्स खारिज करें"</string>
<plurals name="status_bar_accessibility_recent_apps">
@@ -75,7 +75,7 @@
<string name="accessibility_back" msgid="567011538994429120">"वापस जाएं"</string>
<string name="accessibility_home" msgid="8217216074895377641">"होम"</string>
<string name="accessibility_menu" msgid="316839303324695949">"मेनू"</string>
- <string name="accessibility_recent" msgid="8571350598987952883">"हाल ही के एप्‍स"</string>
+ <string name="accessibility_recent" msgid="8571350598987952883">"हाल ही के ऐप्स"</string>
<string name="accessibility_search_light" msgid="1103867596330271848">"खोजें"</string>
<string name="accessibility_camera_button" msgid="8064671582820358152">"कैमरा"</string>
<string name="accessibility_ime_switch_button" msgid="5032926134740456424">"इनपुट पद्धति‍ बटन स्विच करें."</string>
@@ -146,7 +146,7 @@
<string name="accessibility_notification_dismissed" msgid="854211387186306927">"सूचना खारिज की गई."</string>
<string name="accessibility_desc_notification_shade" msgid="4690274844447504208">"सूचना शेड."</string>
<string name="accessibility_desc_quick_settings" msgid="6186378411582437046">"त्वरित सेटिंग."</string>
- <string name="accessibility_desc_recent_apps" msgid="9014032916410590027">"हाल ही के एप्‍स."</string>
+ <string name="accessibility_desc_recent_apps" msgid="9014032916410590027">"हाल ही के ऐप्स."</string>
<string name="accessibility_quick_settings_user" msgid="1104846699869476855">"उपयोगकर्ता <xliff:g id="USER">%s</xliff:g>."</string>
<string name="accessibility_quick_settings_wifi" msgid="6099781031669728709">"<xliff:g id="SIGNAL">%1$s</xliff:g>. <xliff:g id="NETWORK">%2$s</xliff:g>"</string>
<string name="accessibility_quick_settings_mobile" msgid="4876806564086241341">"मोबाइल <xliff:g id="SIGNAL">%1$s</xliff:g>. <xliff:g id="TYPE">%2$s</xliff:g>. <xliff:g id="NETWORK">%3$s</xliff:g>."</string>
@@ -166,7 +166,7 @@
<string name="gps_notification_found_text" msgid="4619274244146446464">"GPS द्वारा सेट किया गया स्‍थान"</string>
<string name="accessibility_location_active" msgid="2427290146138169014">"स्थान अनुरोध सक्रिय"</string>
<string name="accessibility_clear_all" msgid="5235938559247164925">"सभी सूचनाएं साफ़ करें."</string>
- <string name="status_bar_notification_inspect_item_title" msgid="1163547729015390250">"एप्‍स जानकारी"</string>
+ <string name="status_bar_notification_inspect_item_title" msgid="1163547729015390250">"ऐप्स जानकारी"</string>
<string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"स्‍क्रीन स्‍वचालित रूप से घूमेगी."</string>
<string name="accessibility_rotation_lock_on_landscape" msgid="6731197337665366273">"स्‍क्रीन लैंडस्केप अभिविन्यास में लॉक है."</string>
<string name="accessibility_rotation_lock_on_portrait" msgid="5809367521644012115">"स्‍क्रीन पोर्ट्रेट अभिविन्‍यास में लॉक है."</string>
diff --git a/packages/SystemUI/res/values-mcc262-mnc08/config.xml b/packages/SystemUI/res/values-mcc262-mnc08/config.xml
new file mode 100644
index 0000000..7b7b8f3
--- /dev/null
+++ b/packages/SystemUI/res/values-mcc262-mnc08/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+<resources>
+ <!-- Whether or not the RSSI tile is capitalized or not. -->
+ <bool name="quick_settings_rssi_tile_capitalization">false</bool>
+</resources>
+
diff --git a/packages/SystemUI/res/values-mcc262-mnc11/config.xml b/packages/SystemUI/res/values-mcc262-mnc11/config.xml
new file mode 100644
index 0000000..7b7b8f3
--- /dev/null
+++ b/packages/SystemUI/res/values-mcc262-mnc11/config.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 2013, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<!-- These resources are around just to allow their values to be customized
+ for different hardware and product builds. -->
+<resources>
+ <!-- Whether or not the RSSI tile is capitalized or not. -->
+ <bool name="quick_settings_rssi_tile_capitalization">false</bool>
+</resources>
+
diff --git a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
index 150f132..b6e03e1 100755
--- a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
+++ b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
@@ -69,8 +69,10 @@ public class BatteryMeterView extends View implements DemoMode {
private final Rect mBoltFrame = new Rect();
private class BatteryTracker extends BroadcastReceiver {
+ public static final int UNKNOWN_LEVEL = -1;
+
// current battery status
- int level;
+ int level = UNKNOWN_LEVEL;
String percentStr;
int plugType;
boolean plugged;
@@ -148,7 +150,11 @@ public class BatteryMeterView extends View implements DemoMode {
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_BATTERY_CHANGED);
filter.addAction(ACTION_LEVEL_TEST);
- getContext().registerReceiver(mTracker, filter);
+ final Intent sticky = getContext().registerReceiver(mTracker, filter);
+ if (sticky != null) {
+ // preload the battery level
+ mTracker.onReceive(getContext(), sticky);
+ }
}
@Override
@@ -256,6 +262,9 @@ public class BatteryMeterView extends View implements DemoMode {
public void draw(Canvas c) {
BatteryTracker tracker = mDemoMode ? mDemoTracker : mTracker;
final int level = tracker.level;
+
+ if (level == BatteryTracker.UNKNOWN_LEVEL) return;
+
float drawFrac = (float) level / 100f;
final int pt = getPaddingTop();
final int pl = getPaddingLeft();
diff --git a/packages/SystemUI/src/com/android/systemui/DessertCaseView.java b/packages/SystemUI/src/com/android/systemui/DessertCaseView.java
index 99c59d5..90de65e 100644
--- a/packages/SystemUI/src/com/android/systemui/DessertCaseView.java
+++ b/packages/SystemUI/src/com/android/systemui/DessertCaseView.java
@@ -96,6 +96,13 @@ public class DessertCaseView extends FrameLayout {
1f, 0f, 0f, 0f, 0f
};
+ private static final float[] ALPHA_MASK = {
+ 0f, 0f, 0f, 0f, 255f,
+ 0f, 0f, 0f, 0f, 255f,
+ 0f, 0f, 0f, 0f, 255f,
+ 0f, 0f, 0f, 1f, 0f
+ };
+
private static final float[] WHITE_MASK = {
0f, 0f, 0f, 0f, 255f,
0f, 0f, 0f, 0f, 255f,
@@ -162,8 +169,8 @@ public class DessertCaseView extends FrameLayout {
for (int[] list : new int[][] { PASTRIES, RARE_PASTRIES, XRARE_PASTRIES, XXRARE_PASTRIES }) {
for (int resid : list) {
final BitmapDrawable d = new BitmapDrawable(res,
- BitmapFactory.decodeResource(res, resid, opts));
- d.setColorFilter(new ColorMatrixColorFilter(MASK));
+ convertToAlphaMask(BitmapFactory.decodeResource(res, resid, opts)));
+ d.setColorFilter(new ColorMatrixColorFilter(ALPHA_MASK));
d.setBounds(0, 0, mCellSize, mCellSize);
mDrawables.append(resid, d);
}
@@ -171,6 +178,15 @@ public class DessertCaseView extends FrameLayout {
if (DEBUG) setWillNotDraw(false);
}
+ private static Bitmap convertToAlphaMask(Bitmap b) {
+ Bitmap a = Bitmap.createBitmap(b.getWidth(), b.getHeight(), Bitmap.Config.ALPHA_8);
+ Canvas c = new Canvas(a);
+ Paint pt = new Paint();
+ pt.setColorFilter(new ColorMatrixColorFilter(MASK));
+ c.drawBitmap(b, 0.0f, 0.0f, pt);
+ return a;
+ }
+
public void start() {
if (!mStarted) {
mStarted = true;
@@ -273,9 +289,9 @@ public class DessertCaseView extends FrameLayout {
final float which = frand();
final Drawable d;
- if (which < 0.001f) {
+ if (which < 0.0005f) {
d = mDrawables.get(pick(XXRARE_PASTRIES));
- } else if (which < 0.01f) {
+ } else if (which < 0.005f) {
d = mDrawables.get(pick(XRARE_PASTRIES));
} else if (which < 0.5f) {
d = mDrawables.get(pick(RARE_PASTRIES));
@@ -288,8 +304,7 @@ public class DessertCaseView extends FrameLayout {
v.getOverlay().add(d);
}
- final Paint paint = new Paint();
- v.setLayerType(View.LAYER_TYPE_HARDWARE, paint);
+ v.setLayerType(View.LAYER_TYPE_HARDWARE, null);
lp.width = lp.height = mCellSize;
addView(v, lp);
diff --git a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
index 6fa863d..4b0c2cb 100644
--- a/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
+++ b/packages/SystemUI/src/com/android/systemui/ImageWallpaper.java
@@ -326,6 +326,7 @@ public class ImageWallpaper extends WallpaperService {
((mBackground == null) ? 0 : mBackground.getHeight()) + ", " +
dw + ", " + dh);
}
+ mWallpaperManager.forgetLoadedWallpaper();
updateWallpaperLocked();
if (mBackground == null) {
if (DEBUG) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java
index e6823ac..15d655c 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsModel.java
@@ -280,7 +280,7 @@ class QuickSettingsModel implements BluetoothStateChangeCallback,
mUserTracker = new CurrentUserTracker(mContext) {
public void onUserSwitched(int newUserId) {
mBrightnessObserver.startObserving();
- onRotationLockChanged();
+ refreshRotationLockTile();
onBrightnessLevelChanged();
onNextAlarmChanged();
onBugreportChanged();
@@ -310,6 +310,7 @@ class QuickSettingsModel implements BluetoothStateChangeCallback,
refreshBrightnessTile();
refreshRotationLockTile();
refreshRssiTile();
+ refreshLocationTile();
}
// Settings
@@ -582,6 +583,12 @@ class QuickSettingsModel implements BluetoothStateChangeCallback,
mLocationCallback.refreshView(mLocationTile, mLocationState);
}
+ void refreshLocationTile() {
+ if (mLocationTile != null) {
+ onLocationSettingsChanged(mLocationState.enabled);
+ }
+ }
+
@Override
public void onLocationSettingsChanged(boolean locationEnabled) {
int textResId = locationEnabled ? R.string.quick_settings_location_label
diff --git a/packages/WallpaperCropper/src/com/android/photos/views/TiledImageView.java b/packages/WallpaperCropper/src/com/android/photos/views/TiledImageView.java
index 36cb438..af4199c 100644
--- a/packages/WallpaperCropper/src/com/android/photos/views/TiledImageView.java
+++ b/packages/WallpaperCropper/src/com/android/photos/views/TiledImageView.java
@@ -63,7 +63,7 @@ public class TiledImageView extends FrameLayout {
// Guarded by locks
public float scale;
public int centerX, centerY;
- int rotation;
+ public int rotation;
public TileSource source;
Runnable isReadyCallback;
diff --git a/packages/WallpaperCropper/src/com/android/wallpapercropper/CropView.java b/packages/WallpaperCropper/src/com/android/wallpapercropper/CropView.java
index b4e715c..14f7c1d 100644
--- a/packages/WallpaperCropper/src/com/android/wallpapercropper/CropView.java
+++ b/packages/WallpaperCropper/src/com/android/wallpapercropper/CropView.java
@@ -17,9 +17,11 @@
package com.android.wallpapercropper;
import android.content.Context;
+import android.graphics.Matrix;
import android.graphics.Point;
import android.graphics.RectF;
import android.util.AttributeSet;
+import android.util.FloatMath;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.view.ScaleGestureDetector.OnScaleGestureListener;
@@ -36,10 +38,18 @@ public class CropView extends TiledImageView implements OnScaleGestureListener {
private long mTouchDownTime;
private float mFirstX, mFirstY;
private float mLastX, mLastY;
+ private float mCenterX, mCenterY;
private float mMinScale;
private boolean mTouchEnabled = true;
private RectF mTempEdges = new RectF();
+ private float[] mTempPoint = new float[] { 0, 0 };
+ private float[] mTempCoef = new float[] { 0, 0 };
+ private float[] mTempAdjustment = new float[] { 0, 0 };
+ private float[] mTempImageDims = new float[] { 0, 0 };
+ private float[] mTempRendererCenter = new float[] { 0, 0 };
TouchCallback mTouchCallback;
+ Matrix mRotateMatrix;
+ Matrix mInverseRotateMatrix;
public interface TouchCallback {
void onTouchDown();
@@ -54,17 +64,43 @@ public class CropView extends TiledImageView implements OnScaleGestureListener {
public CropView(Context context, AttributeSet attrs) {
super(context, attrs);
mScaleGestureDetector = new ScaleGestureDetector(context, this);
+ mRotateMatrix = new Matrix();
+ mInverseRotateMatrix = new Matrix();
+ }
+
+ private float[] getImageDims() {
+ final float imageWidth = mRenderer.source.getImageWidth();
+ final float imageHeight = mRenderer.source.getImageHeight();
+ float[] imageDims = mTempImageDims;
+ imageDims[0] = imageWidth;
+ imageDims[1] = imageHeight;
+ mRotateMatrix.mapPoints(imageDims);
+ imageDims[0] = Math.abs(imageDims[0]);
+ imageDims[1] = Math.abs(imageDims[1]);
+ return imageDims;
}
private void getEdgesHelper(RectF edgesOut) {
final float width = getWidth();
final float height = getHeight();
- final float imageWidth = mRenderer.source.getImageWidth();
- final float imageHeight = mRenderer.source.getImageHeight();
+ final float[] imageDims = getImageDims();
+ final float imageWidth = imageDims[0];
+ final float imageHeight = imageDims[1];
+
+ float initialCenterX = mRenderer.source.getImageWidth() / 2f;
+ float initialCenterY = mRenderer.source.getImageHeight() / 2f;
+
+ float[] rendererCenter = mTempRendererCenter;
+ rendererCenter[0] = mCenterX - initialCenterX;
+ rendererCenter[1] = mCenterY - initialCenterY;
+ mRotateMatrix.mapPoints(rendererCenter);
+ rendererCenter[0] += imageWidth / 2;
+ rendererCenter[1] += imageHeight / 2;
+
final float scale = mRenderer.scale;
- float centerX = (width / 2f - mRenderer.centerX + (imageWidth - width) / 2f)
+ float centerX = (width / 2f - rendererCenter[0] + (imageWidth - width) / 2f)
* scale + width / 2f;
- float centerY = (height / 2f - mRenderer.centerY + (imageHeight - height) / 2f)
+ float centerY = (height / 2f - rendererCenter[1] + (imageHeight - height) / 2f)
* scale + height / 2f;
float leftEdge = centerX - imageWidth / 2f * scale;
float rightEdge = centerX + imageWidth / 2f * scale;
@@ -77,6 +113,10 @@ public class CropView extends TiledImageView implements OnScaleGestureListener {
edgesOut.bottom = bottomEdge;
}
+ public int getImageRotation() {
+ return mRenderer.rotation;
+ }
+
public RectF getCrop() {
final RectF edges = mTempEdges;
getEdgesHelper(edges);
@@ -96,6 +136,12 @@ public class CropView extends TiledImageView implements OnScaleGestureListener {
public void setTileSource(TileSource source, Runnable isReadyCallback) {
super.setTileSource(source, isReadyCallback);
+ mCenterX = mRenderer.centerX;
+ mCenterY = mRenderer.centerY;
+ mRotateMatrix.reset();
+ mRotateMatrix.setRotate(mRenderer.rotation);
+ mInverseRotateMatrix.reset();
+ mInverseRotateMatrix.setRotate(-mRenderer.rotation);
updateMinScale(getWidth(), getHeight(), source, true);
}
@@ -115,8 +161,10 @@ public class CropView extends TiledImageView implements OnScaleGestureListener {
mRenderer.scale = 1;
}
if (source != null) {
- mMinScale = Math.max(w / (float) source.getImageWidth(),
- h / (float) source.getImageHeight());
+ final float[] imageDims = getImageDims();
+ final float imageWidth = imageDims[0];
+ final float imageHeight = imageDims[1];
+ mMinScale = Math.max(w / imageWidth, h / imageHeight);
mRenderer.scale = Math.max(mMinScale, mRenderer.scale);
}
}
@@ -154,7 +202,13 @@ public class CropView extends TiledImageView implements OnScaleGestureListener {
final RectF edges = mTempEdges;
getEdgesHelper(edges);
final float scale = mRenderer.scale;
- mRenderer.centerX += Math.ceil(edges.left / scale);
+ mCenterX += Math.ceil(edges.left / scale);
+ updateCenter();
+ }
+
+ private void updateCenter() {
+ mRenderer.centerX = Math.round(mCenterX);
+ mRenderer.centerY = Math.round(mCenterY);
}
public void setTouchEnabled(boolean enabled) {
@@ -200,7 +254,7 @@ public class CropView extends TiledImageView implements OnScaleGestureListener {
if (mTouchCallback != null) {
// only do this if it's a small movement
if (squaredDist < slop &&
- now < mTouchDownTime + ViewConfiguration.getTapTimeout()) {
+ now < mTouchDownTime + ViewConfiguration.getTapTimeout()) {
mTouchCallback.onTap();
}
mTouchCallback.onTouchUp();
@@ -215,8 +269,13 @@ public class CropView extends TiledImageView implements OnScaleGestureListener {
mScaleGestureDetector.onTouchEvent(event);
switch (action) {
case MotionEvent.ACTION_MOVE:
- mRenderer.centerX += (mLastX - x) / mRenderer.scale;
- mRenderer.centerY += (mLastY - y) / mRenderer.scale;
+ float[] point = mTempPoint;
+ point[0] = (mLastX - x) / mRenderer.scale;
+ point[1] = (mLastY - y) / mRenderer.scale;
+ mInverseRotateMatrix.mapPoints(point);
+ mCenterX += point[0];
+ mCenterY += point[1];
+ updateCenter();
invalidate();
break;
}
@@ -226,18 +285,32 @@ public class CropView extends TiledImageView implements OnScaleGestureListener {
final RectF edges = mTempEdges;
getEdgesHelper(edges);
final float scale = mRenderer.scale;
+
+ float[] coef = mTempCoef;
+ coef[0] = 1;
+ coef[1] = 1;
+ mRotateMatrix.mapPoints(coef);
+ float[] adjustment = mTempAdjustment;
+ mTempAdjustment[0] = 0;
+ mTempAdjustment[1] = 0;
if (edges.left > 0) {
- mRenderer.centerX += Math.ceil(edges.left / scale);
- }
- if (edges.right < getWidth()) {
- mRenderer.centerX += (edges.right - getWidth()) / scale;
+ adjustment[0] = edges.left / scale;
+ } else if (edges.right < getWidth()) {
+ adjustment[0] = (edges.right - getWidth()) / scale;
}
if (edges.top > 0) {
- mRenderer.centerY += Math.ceil(edges.top / scale);
+ adjustment[1] = FloatMath.ceil(edges.top / scale);
+ } else if (edges.bottom < getHeight()) {
+ adjustment[1] = (edges.bottom - getHeight()) / scale;
}
- if (edges.bottom < getHeight()) {
- mRenderer.centerY += (edges.bottom - getHeight()) / scale;
+ for (int dim = 0; dim <= 1; dim++) {
+ if (coef[dim] > 0) adjustment[dim] = FloatMath.ceil(adjustment[dim]);
}
+
+ mInverseRotateMatrix.mapPoints(adjustment);
+ mCenterX += adjustment[0];
+ mCenterY += adjustment[1];
+ updateCenter();
}
}
diff --git a/packages/WallpaperCropper/src/com/android/wallpapercropper/WallpaperCropActivity.java b/packages/WallpaperCropper/src/com/android/wallpapercropper/WallpaperCropActivity.java
index 710e8e4..1209e56 100644
--- a/packages/WallpaperCropper/src/com/android/wallpapercropper/WallpaperCropActivity.java
+++ b/packages/WallpaperCropper/src/com/android/wallpapercropper/WallpaperCropActivity.java
@@ -37,12 +37,14 @@ import android.graphics.RectF;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
+import android.util.FloatMath;
import android.util.Log;
import android.view.Display;
import android.view.View;
import android.view.WindowManager;
import com.android.gallery3d.common.Utils;
+import com.android.gallery3d.exif.ExifInterface;
import com.android.photos.BitmapRegionTileSource;
import java.io.BufferedInputStream;
@@ -85,10 +87,17 @@ public class WallpaperCropActivity extends Activity {
mCropView = (CropView) findViewById(R.id.cropView);
- Intent cropIntent = this.getIntent();
+ Intent cropIntent = getIntent();
final Uri imageUri = cropIntent.getData();
- mCropView.setTileSource(new BitmapRegionTileSource(this, imageUri, 1024, 0), null);
+ if (imageUri == null) {
+ Log.e(LOGTAG, "No URI passed in intent, exiting WallpaperCropActivity");
+ finish();
+ return;
+ }
+
+ int rotation = getRotationFromExif(this, imageUri);
+ mCropView.setTileSource(new BitmapRegionTileSource(this, imageUri, 1024, rotation), null);
mCropView.setTouchEnabled(true);
// Action bar
// Show the custom action bar view
@@ -102,8 +111,6 @@ public class WallpaperCropActivity extends Activity {
cropImageAndSetWallpaper(imageUri, null, finishActivityWhenDone);
}
});
- getWindow().addPrivateFlags(
- WindowManager.LayoutParams.PRIVATE_FLAG_INHERIT_TRANSLUCENT_DECOR);
}
public boolean enableRotation() {
@@ -170,9 +177,47 @@ public class WallpaperCropActivity extends Activity {
return new Point(defaultWidth, defaultHeight);
}
+ public static int getRotationFromExif(String path) {
+ return getRotationFromExifHelper(path, null, 0, null, null);
+ }
+
+ public static int getRotationFromExif(Context context, Uri uri) {
+ return getRotationFromExifHelper(null, null, 0, context, uri);
+ }
+
+ public static int getRotationFromExif(Resources res, int resId) {
+ return getRotationFromExifHelper(null, res, resId, null, null);
+ }
+
+ private static int getRotationFromExifHelper(
+ String path, Resources res, int resId, Context context, Uri uri) {
+ ExifInterface ei = new ExifInterface();
+ try {
+ if (path != null) {
+ ei.readExif(path);
+ } else if (uri != null) {
+ InputStream is = context.getContentResolver().openInputStream(uri);
+ BufferedInputStream bis = new BufferedInputStream(is);
+ ei.readExif(bis);
+ } else {
+ InputStream is = res.openRawResource(resId);
+ BufferedInputStream bis = new BufferedInputStream(is);
+ ei.readExif(bis);
+ }
+ Integer ori = ei.getTagIntValue(ExifInterface.TAG_ORIENTATION);
+ if (ori != null) {
+ return ExifInterface.getRotationForOrientationValue(ori.shortValue());
+ }
+ } catch (IOException e) {
+ Log.w(LOGTAG, "Getting exif data failed", e);
+ }
+ return 0;
+ }
+
protected void setWallpaper(String filePath, final boolean finishActivityWhenDone) {
- BitmapCropTask cropTask = new BitmapCropTask(this,
- filePath, null, 0, 0, true, false, null);
+ int rotation = getRotationFromExif(filePath);
+ BitmapCropTask cropTask = new BitmapCropTask(
+ this, filePath, null, rotation, 0, 0, true, false, null);
final Point bounds = cropTask.getImageBounds();
Runnable onEndCrop = new Runnable() {
public void run() {
@@ -192,6 +237,7 @@ public class WallpaperCropActivity extends Activity {
Resources res, int resId, final boolean finishActivityWhenDone) {
// crop this image and scale it down to the default wallpaper size for
// this device
+ int rotation = getRotationFromExif(res, resId);
Point inSize = mCropView.getSourceDimensions();
Point outSize = getDefaultWallpaperSize(getResources(),
getWindowManager());
@@ -209,8 +255,7 @@ public class WallpaperCropActivity extends Activity {
}
};
BitmapCropTask cropTask = new BitmapCropTask(this, res, resId,
- crop, outSize.x, outSize.y,
- true, false, onEndCrop);
+ crop, rotation, outSize.x, outSize.y, true, false, onEndCrop);
cropTask.execute();
}
@@ -222,8 +267,6 @@ public class WallpaperCropActivity extends Activity {
protected void cropImageAndSetWallpaper(Uri uri,
OnBitmapCroppedHandler onBitmapCroppedHandler, final boolean finishActivityWhenDone) {
// Get the crop
- Point inSize = mCropView.getSourceDimensions();
-
boolean ltr = mCropView.getLayoutDirection() == View.LAYOUT_DIRECTION_LTR;
Point minDims = new Point();
@@ -262,12 +305,21 @@ public class WallpaperCropActivity extends Activity {
}
// Get the crop
RectF cropRect = mCropView.getCrop();
+ int cropRotation = mCropView.getImageRotation();
float cropScale = mCropView.getWidth() / (float) cropRect.width();
+ Point inSize = mCropView.getSourceDimensions();
+ Matrix rotateMatrix = new Matrix();
+ rotateMatrix.setRotate(cropRotation);
+ float[] rotatedInSize = new float[] { inSize.x, inSize.y };
+ rotateMatrix.mapPoints(rotatedInSize);
+ rotatedInSize[0] = Math.abs(rotatedInSize[0]);
+ rotatedInSize[1] = Math.abs(rotatedInSize[1]);
+
// ADJUST CROP WIDTH
// Extend the crop all the way to the right, for parallax
// (or all the way to the left, in RTL)
- float extraSpace = ltr ? inSize.x - cropRect.right : cropRect.left;
+ float extraSpace = ltr ? rotatedInSize[0] - cropRect.right : cropRect.left;
// Cap the amount of extra width
float maxExtraSpace = defaultWallpaperWidth / cropScale - cropRect.width();
extraSpace = Math.min(extraSpace, maxExtraSpace);
@@ -285,7 +337,7 @@ public class WallpaperCropActivity extends Activity {
float extraPortraitHeight =
portraitHeight / cropScale - cropRect.height();
float expandHeight =
- Math.min(Math.min(inSize.y - cropRect.bottom, cropRect.top),
+ Math.min(Math.min(rotatedInSize[1] - cropRect.bottom, cropRect.top),
extraPortraitHeight / 2);
cropRect.top -= expandHeight;
cropRect.bottom += expandHeight;
@@ -303,7 +355,7 @@ public class WallpaperCropActivity extends Activity {
}
};
BitmapCropTask cropTask = new BitmapCropTask(this, uri,
- cropRect, outWidth, outHeight, true, false, onEndCrop);
+ cropRect, cropRotation, outWidth, outHeight, true, false, onEndCrop);
if (onBitmapCroppedHandler != null) {
cropTask.setOnBitmapCropped(onBitmapCroppedHandler);
}
@@ -323,7 +375,7 @@ public class WallpaperCropActivity extends Activity {
InputStream mInStream;
RectF mCropBounds = null;
int mOutWidth, mOutHeight;
- int mRotation = 0; // for now
+ int mRotation;
String mOutputFormat = "jpg"; // for now
boolean mSetWallpaper;
boolean mSaveCroppedBitmap;
@@ -334,40 +386,45 @@ public class WallpaperCropActivity extends Activity {
boolean mNoCrop;
public BitmapCropTask(Context c, String filePath,
- RectF cropBounds, int outWidth, int outHeight,
+ RectF cropBounds, int rotation, int outWidth, int outHeight,
boolean setWallpaper, boolean saveCroppedBitmap, Runnable onEndRunnable) {
mContext = c;
mInFilePath = filePath;
- init(cropBounds, outWidth, outHeight, setWallpaper, saveCroppedBitmap, onEndRunnable);
+ init(cropBounds, rotation,
+ outWidth, outHeight, setWallpaper, saveCroppedBitmap, onEndRunnable);
}
public BitmapCropTask(byte[] imageBytes,
- RectF cropBounds, int outWidth, int outHeight,
+ RectF cropBounds, int rotation, int outWidth, int outHeight,
boolean setWallpaper, boolean saveCroppedBitmap, Runnable onEndRunnable) {
mInImageBytes = imageBytes;
- init(cropBounds, outWidth, outHeight, setWallpaper, saveCroppedBitmap, onEndRunnable);
+ init(cropBounds, rotation,
+ outWidth, outHeight, setWallpaper, saveCroppedBitmap, onEndRunnable);
}
public BitmapCropTask(Context c, Uri inUri,
- RectF cropBounds, int outWidth, int outHeight,
+ RectF cropBounds, int rotation, int outWidth, int outHeight,
boolean setWallpaper, boolean saveCroppedBitmap, Runnable onEndRunnable) {
mContext = c;
mInUri = inUri;
- init(cropBounds, outWidth, outHeight, setWallpaper, saveCroppedBitmap, onEndRunnable);
+ init(cropBounds, rotation,
+ outWidth, outHeight, setWallpaper, saveCroppedBitmap, onEndRunnable);
}
public BitmapCropTask(Context c, Resources res, int inResId,
- RectF cropBounds, int outWidth, int outHeight,
+ RectF cropBounds, int rotation, int outWidth, int outHeight,
boolean setWallpaper, boolean saveCroppedBitmap, Runnable onEndRunnable) {
mContext = c;
mInResId = inResId;
mResources = res;
- init(cropBounds, outWidth, outHeight, setWallpaper, saveCroppedBitmap, onEndRunnable);
+ init(cropBounds, rotation,
+ outWidth, outHeight, setWallpaper, saveCroppedBitmap, onEndRunnable);
}
- private void init(RectF cropBounds, int outWidth, int outHeight,
+ private void init(RectF cropBounds, int rotation, int outWidth, int outHeight,
boolean setWallpaper, boolean saveCroppedBitmap, Runnable onEndRunnable) {
mCropBounds = cropBounds;
+ mRotation = rotation;
mOutWidth = outWidth;
mOutHeight = outHeight;
mSetWallpaper = setWallpaper;
@@ -454,6 +511,29 @@ public class WallpaperCropActivity extends Activity {
if (mInStream != null) {
// Find crop bounds (scaled to original image size)
Rect roundedTrueCrop = new Rect();
+ Matrix rotateMatrix = new Matrix();
+ Matrix inverseRotateMatrix = new Matrix();
+ if (mRotation > 0) {
+ rotateMatrix.setRotate(mRotation);
+ inverseRotateMatrix.setRotate(-mRotation);
+
+ mCropBounds.roundOut(roundedTrueCrop);
+ mCropBounds = new RectF(roundedTrueCrop);
+
+ Point bounds = getImageBounds();
+
+ float[] rotatedBounds = new float[] { bounds.x, bounds.y };
+ rotateMatrix.mapPoints(rotatedBounds);
+ rotatedBounds[0] = Math.abs(rotatedBounds[0]);
+ rotatedBounds[1] = Math.abs(rotatedBounds[1]);
+
+ mCropBounds.offset(-rotatedBounds[0]/2, -rotatedBounds[1]/2);
+ inverseRotateMatrix.mapRect(mCropBounds);
+ mCropBounds.offset(bounds.x/2, bounds.y/2);
+
+ regenerateInputStream();
+ }
+
mCropBounds.roundOut(roundedTrueCrop);
if (roundedTrueCrop.width() <= 0 || roundedTrueCrop.height() <= 0) {
@@ -497,6 +577,12 @@ public class WallpaperCropActivity extends Activity {
fullSize = BitmapFactory.decodeStream(mInStream, null, options);
}
if (fullSize != null) {
+ mCropBounds.left /= scaleDownSampleSize;
+ mCropBounds.top /= scaleDownSampleSize;
+ mCropBounds.bottom /= scaleDownSampleSize;
+ mCropBounds.right /= scaleDownSampleSize;
+ mCropBounds.roundOut(roundedTrueCrop);
+
crop = Bitmap.createBitmap(fullSize, roundedTrueCrop.left,
roundedTrueCrop.top, roundedTrueCrop.width(),
roundedTrueCrop.height());
@@ -508,16 +594,40 @@ public class WallpaperCropActivity extends Activity {
failure = true;
return false;
}
- if (mOutWidth > 0 && mOutHeight > 0) {
- Matrix m = new Matrix();
- RectF cropRect = new RectF(0, 0, crop.getWidth(), crop.getHeight());
- if (mRotation > 0) {
- m.setRotate(mRotation);
- m.mapRect(cropRect);
+ if (mOutWidth > 0 && mOutHeight > 0 || mRotation > 0) {
+ float[] dimsAfter = new float[] { crop.getWidth(), crop.getHeight() };
+ rotateMatrix.mapPoints(dimsAfter);
+ dimsAfter[0] = Math.abs(dimsAfter[0]);
+ dimsAfter[1] = Math.abs(dimsAfter[1]);
+
+ if (!(mOutWidth > 0 && mOutHeight > 0)) {
+ mOutWidth = Math.round(dimsAfter[0]);
+ mOutHeight = Math.round(dimsAfter[1]);
}
+
+ RectF cropRect = new RectF(0, 0, dimsAfter[0], dimsAfter[1]);
RectF returnRect = new RectF(0, 0, mOutWidth, mOutHeight);
- m.setRectToRect(cropRect, returnRect, Matrix.ScaleToFit.FILL);
- m.preRotate(mRotation);
+
+ Matrix m = new Matrix();
+ if (mRotation == 0) {
+ m.setRectToRect(cropRect, returnRect, Matrix.ScaleToFit.FILL);
+ } else {
+ Matrix m1 = new Matrix();
+ m1.setTranslate(-crop.getWidth() / 2f, -crop.getHeight() / 2f);
+ Matrix m2 = new Matrix();
+ m2.setRotate(mRotation);
+ Matrix m3 = new Matrix();
+ m3.setTranslate(dimsAfter[0] / 2f, dimsAfter[1] / 2f);
+ Matrix m4 = new Matrix();
+ m4.setRectToRect(cropRect, returnRect, Matrix.ScaleToFit.FILL);
+
+ Matrix c1 = new Matrix();
+ c1.setConcat(m2, m1);
+ Matrix c2 = new Matrix();
+ c2.setConcat(m4, m3);
+ m.setConcat(c2, c1);
+ }
+
Bitmap tmp = Bitmap.createBitmap((int) returnRect.width(),
(int) returnRect.height(), Bitmap.Config.ARGB_8888);
if (tmp != null) {
@@ -527,14 +637,6 @@ public class WallpaperCropActivity extends Activity {
c.drawBitmap(crop, m, p);
crop = tmp;
}
- } else if (mRotation > 0) {
- Matrix m = new Matrix();
- m.setRotate(mRotation);
- Bitmap tmp = Bitmap.createBitmap(crop, 0, 0, crop.getWidth(),
- crop.getHeight(), m, true);
- if (tmp != null) {
- crop = tmp;
- }
}
if (mSaveCroppedBitmap) {
@@ -603,8 +705,7 @@ public class WallpaperCropActivity extends Activity {
final SharedPreferences sharedPrefs,
WindowManager windowManager,
final WallpaperManager wallpaperManager) {
- final Point defaultWallpaperSize =
- WallpaperCropActivity.getDefaultWallpaperSize(res, windowManager);
+ final Point defaultWallpaperSize = getDefaultWallpaperSize(res, windowManager);
new Thread("suggestWallpaperDimension") {
public void run() {
@@ -616,7 +717,6 @@ public class WallpaperCropActivity extends Activity {
}.start();
}
-
protected static RectF getMaxCropRect(
int inWidth, int inHeight, int outWidth, int outHeight, boolean leftAligned) {
RectF cropRect = new RectF();