diff --git a/core/java/android/print/PrintAttributes.java b/core/java/android/print/PrintAttributes.java index 8892e3430fe48..e9c196d0cdad8 100644 --- a/core/java/android/print/PrintAttributes.java +++ b/core/java/android/print/PrintAttributes.java @@ -27,6 +27,7 @@ import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; import android.util.ArrayMap; +import android.util.ArraySet; import android.util.Log; import com.android.internal.R; @@ -872,6 +873,23 @@ public final class PrintAttributes implements Parcelable { mPackageName = null; } + /** + * Get the Id of all predefined media sizes beside the {@link #UNKNOWN_PORTRAIT} and + * {@link #UNKNOWN_LANDSCAPE}. + * + * @return List of all predefined media sizes + * + * @hide + */ + public static @NonNull ArraySet getAllPredefinedSizes() { + ArraySet definedMediaSizes = new ArraySet<>(sIdToMediaSizeMap.values()); + + definedMediaSizes.remove(UNKNOWN_PORTRAIT); + definedMediaSizes.remove(UNKNOWN_LANDSCAPE); + + return definedMediaSizes; + } + /** @hide */ public MediaSize(String id, String label, String packageName, int widthMils, int heightMils, int labelResId) { diff --git a/packages/PrintSpooler/res/values-ca/arrays.xml b/packages/PrintSpooler/res/values-ca/arrays.xml deleted file mode 100644 index c1b149c599604..0000000000000 --- a/packages/PrintSpooler/res/values-ca/arrays.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - NA_LETTER - NA_GOVT_LETTER - NA_LEGAL - NA_JUNIOR_LEGAL - NA_LEDGER - NA_TABLOID - NA_INDEX_3X5 - NA_INDEX_4X6 - NA_INDEX_5X8 - NA_MONARCH - NA_QUARTO - NA_FOOLSCAP - - - diff --git a/packages/PrintSpooler/res/values-en-rCA/arrays.xml b/packages/PrintSpooler/res/values-en-rCA/arrays.xml deleted file mode 100644 index d40278c3973da..0000000000000 --- a/packages/PrintSpooler/res/values-en-rCA/arrays.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - NA_LETTER - NA_GOVT_LETTER - NA_LEGAL - NA_JUNIOR_LEGAL - NA_LEDGER - NA_TABLOID - NA_INDEX_3X5 - NA_INDEX_4X6 - NA_INDEX_5X8 - NA_MONARCH - NA_QUARTO - NA_FOOLSCAP - - - diff --git a/packages/PrintSpooler/res/values-en-rUS/arrays.xml b/packages/PrintSpooler/res/values-en-rUS/arrays.xml deleted file mode 100644 index d40278c3973da..0000000000000 --- a/packages/PrintSpooler/res/values-en-rUS/arrays.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - NA_LETTER - NA_GOVT_LETTER - NA_LEGAL - NA_JUNIOR_LEGAL - NA_LEDGER - NA_TABLOID - NA_INDEX_3X5 - NA_INDEX_4X6 - NA_INDEX_5X8 - NA_MONARCH - NA_QUARTO - NA_FOOLSCAP - - - diff --git a/packages/PrintSpooler/res/values-es-rUS/arrays.xml b/packages/PrintSpooler/res/values-es-rUS/arrays.xml deleted file mode 100644 index c1b149c599604..0000000000000 --- a/packages/PrintSpooler/res/values-es-rUS/arrays.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - NA_LETTER - NA_GOVT_LETTER - NA_LEGAL - NA_JUNIOR_LEGAL - NA_LEDGER - NA_TABLOID - NA_INDEX_3X5 - NA_INDEX_4X6 - NA_INDEX_5X8 - NA_MONARCH - NA_QUARTO - NA_FOOLSCAP - - - diff --git a/packages/PrintSpooler/res/values-ja/arrays.xml b/packages/PrintSpooler/res/values-ja/arrays.xml deleted file mode 100644 index 3187cbefaa1eb..0000000000000 --- a/packages/PrintSpooler/res/values-ja/arrays.xml +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - JIS_B10 - JIS_B9 - JIS_B8 - JIS_B7 - JIS_B6 - JIS_B5 - JIS_B4 - JIS_B3 - JIS_B2 - JIS_B1 - JIS_B0 - JIS_EXEC - JPN_CHOU4 - JPN_CHOU3 - JPN_CHOU2 - JPN_HAGAKI - JPN_OUFUKU - JPN_KAHU - JPN_KAKU2 - JPN_YOU4 - - - diff --git a/packages/PrintSpooler/res/values/arrays.xml b/packages/PrintSpooler/res/values/arrays.xml index afe3c7122dd79..8658be46c6eba 100644 --- a/packages/PrintSpooler/res/values/arrays.xml +++ b/packages/PrintSpooler/res/values/arrays.xml @@ -121,38 +121,4 @@ - - ISO_A0 - ISO_A1 - ISO_A2 - ISO_A3 - ISO_A4 - ISO_A5 - ISO_A6 - ISO_A7 - ISO_A8 - ISO_A9 - ISO_A10 - ISO_B1 - ISO_B2 - ISO_B3 - ISO_B4 - ISO_B5 - ISO_B6 - ISO_B7 - ISO_B8 - ISO_B9 - ISO_B10 - ISO_C1 - ISO_C2 - ISO_C3 - ISO_C4 - ISO_C5 - ISO_C6 - ISO_C7 - ISO_C8 - ISO_C9 - ISO_C10 - - diff --git a/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java b/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java index 1e791219002b1..a1ea658e5affe 100644 --- a/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java +++ b/packages/PrintSpooler/src/com/android/printspooler/ui/PrintActivity.java @@ -61,6 +61,7 @@ import android.text.TextUtils; import android.text.TextUtils.SimpleStringSplitter; import android.text.TextWatcher; import android.util.ArrayMap; +import android.util.ArraySet; import android.util.Log; import android.util.TypedValue; import android.view.KeyEvent; @@ -2361,6 +2362,7 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat } private PrinterInfo createFakePdfPrinter() { + ArraySet allMediaSizes = MediaSize.getAllPredefinedSizes(); MediaSize defaultMediaSize = MediaSizeUtils.getDefault(PrintActivity.this); PrinterId printerId = new PrinterId(getComponentName(), "PDF printer"); @@ -2368,11 +2370,9 @@ public class PrintActivity extends Activity implements RemotePrintDocument.Updat PrinterCapabilitiesInfo.Builder builder = new PrinterCapabilitiesInfo.Builder(printerId); - String[] mediaSizeIds = getResources().getStringArray(R.array.pdf_printer_media_sizes); - final int mediaSizeIdCount = mediaSizeIds.length; - for (int i = 0; i < mediaSizeIdCount; i++) { - String id = mediaSizeIds[i]; - MediaSize mediaSize = MediaSize.getStandardMediaSizeById(id); + final int mediaSizeCount = allMediaSizes.size(); + for (int i = 0; i < mediaSizeCount; i++) { + MediaSize mediaSize = allMediaSizes.valueAt(i); builder.addMediaSize(mediaSize, mediaSize.equals(defaultMediaSize)); }