merge in klp-release history after reset to klp-dev
diff --git a/api/current.txt b/api/current.txt
index 8e69592..054f1cd 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -22,7 +22,6 @@
field public static final java.lang.String BIND_APPWIDGET = "android.permission.BIND_APPWIDGET";
field public static final java.lang.String BIND_DEVICE_ADMIN = "android.permission.BIND_DEVICE_ADMIN";
field public static final java.lang.String BIND_INPUT_METHOD = "android.permission.BIND_INPUT_METHOD";
- field public static final java.lang.String BIND_NFC_SERVICE = "android.permission.BIND_NFC_SERVICE";
field public static final java.lang.String BIND_NOTIFICATION_LISTENER_SERVICE = "android.permission.BIND_NOTIFICATION_LISTENER_SERVICE";
field public static final java.lang.String BIND_PRINT_SERVICE = "android.permission.BIND_PRINT_SERVICE";
field public static final java.lang.String BIND_REMOTEVIEWS = "android.permission.BIND_REMOTEVIEWS";
@@ -3084,18 +3083,18 @@
method public void cancel(android.app.PendingIntent);
method public void set(int, long, android.app.PendingIntent);
method public void setExact(int, long, android.app.PendingIntent);
- method public void setInexactRepeating(int, long, long, android.app.PendingIntent);
+ method public deprecated void setInexactRepeating(int, long, long, android.app.PendingIntent);
method public void setRepeating(int, long, long, android.app.PendingIntent);
method public void setTime(long);
method public void setTimeZone(java.lang.String);
method public void setWindow(int, long, long, android.app.PendingIntent);
field public static final int ELAPSED_REALTIME = 3; // 0x3
field public static final int ELAPSED_REALTIME_WAKEUP = 2; // 0x2
- field public static final long INTERVAL_DAY = 86400000L; // 0x5265c00L
- field public static final long INTERVAL_FIFTEEN_MINUTES = 900000L; // 0xdbba0L
- field public static final long INTERVAL_HALF_DAY = 43200000L; // 0x2932e00L
- field public static final long INTERVAL_HALF_HOUR = 1800000L; // 0x1b7740L
- field public static final long INTERVAL_HOUR = 3600000L; // 0x36ee80L
+ field public static final deprecated long INTERVAL_DAY = 86400000L; // 0x5265c00L
+ field public static final deprecated long INTERVAL_FIFTEEN_MINUTES = 900000L; // 0xdbba0L
+ field public static final deprecated long INTERVAL_HALF_DAY = 43200000L; // 0x2932e00L
+ field public static final deprecated long INTERVAL_HALF_HOUR = 1800000L; // 0x1b7740L
+ field public static final deprecated long INTERVAL_HOUR = 3600000L; // 0x36ee80L
field public static final int RTC = 1; // 0x1
field public static final int RTC_WAKEUP = 0; // 0x0
}
@@ -13228,7 +13227,6 @@
field public static final java.util.UUID EFFECT_TYPE_BASS_BOOST;
field public static final java.util.UUID EFFECT_TYPE_ENV_REVERB;
field public static final java.util.UUID EFFECT_TYPE_EQUALIZER;
- field public static final java.util.UUID EFFECT_TYPE_LOUDNESS_ENHANCER;
field public static final java.util.UUID EFFECT_TYPE_NS;
field public static final java.util.UUID EFFECT_TYPE_PRESET_REVERB;
field public static final java.util.UUID EFFECT_TYPE_VIRTUALIZER;
@@ -13386,7 +13384,6 @@
}
public class LoudnessEnhancer extends android.media.audiofx.AudioEffect {
- ctor public LoudnessEnhancer(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.RuntimeException, java.lang.UnsupportedOperationException;
method public float getTargetGain() throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
method public void setTargetGain(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException, java.lang.UnsupportedOperationException;
field public static final int PARAM_TARGET_GAIN_MB = 0; // 0x0
@@ -25635,8 +25632,10 @@
ctor public TransitionManager();
method public static void beginDelayedTransition(android.view.ViewGroup);
method public static void beginDelayedTransition(android.view.ViewGroup, android.transition.Transition);
+ method public static android.transition.Transition getDefaultTransition();
method public static void go(android.transition.Scene);
method public static void go(android.transition.Scene, android.transition.Transition);
+ method public void setDefaultTransition(android.transition.Transition);
method public void setTransition(android.transition.Scene, android.transition.Transition);
method public void setTransition(android.transition.Scene, android.transition.Scene, android.transition.Transition);
method public void transitionTo(android.transition.Scene);
diff --git a/core/java/android/app/AlarmManager.java b/core/java/android/app/AlarmManager.java
index 0cf7ad0..5c3a3e5 100644
--- a/core/java/android/app/AlarmManager.java
+++ b/core/java/android/app/AlarmManager.java
@@ -48,15 +48,6 @@
* etc) it is easier and much more efficient to use
* {@link android.os.Handler}.</b>
*
- * <p class="caution"><strong>Note:</strong> Beginning with API 19
- * ({@link android.os.Build.VERSION_CODES#KITKAT}) alarm delivery is inexact:
- * the OS will shift alarms in order to minimize wakeups and battery use. There are
- * new APIs to support applications which need strict delivery guarantees; see
- * {@link #setWindow(int, long, long, PendingIntent)} and
- * {@link #setExact(int, long, PendingIntent)}. Applications whose {@code targetSdkVersion}
- * is earlier than API 19 will continue to see the previous behavior in which all
- * alarms are delivered exactly when requested.
- *
* <p>You do not
* instantiate this class directly; instead, retrieve it through
* {@link android.content.Context#getSystemService
@@ -118,19 +109,21 @@
}
/**
- * <p>Schedule an alarm. <b>Note: for timing operations (ticks, timeouts,
- * etc) it is easier and much more efficient to use {@link android.os.Handler}.</b>
- * If there is already an alarm scheduled for the same IntentSender, that previous
- * alarm will first be canceled.
+ * TBW: discussion of fuzzy nature of alarms in KLP+.
*
- * <p>If the stated trigger time is in the past, the alarm will be triggered
+ * <p>Schedule an alarm. <b>Note: for timing operations (ticks, timeouts,
+ * etc) it is easier and much more efficient to use
+ * {@link android.os.Handler}.</b> If there is already an alarm scheduled
+ * for the same IntentSender, it will first be canceled.
+ *
+ * <p>If the time occurs in the past, the alarm will be triggered
* immediately. If there is already an alarm for this Intent
* scheduled (with the equality of two intents being defined by
* {@link Intent#filterEquals}), then it will be removed and replaced by
* this one.
*
* <p>
- * The alarm is an Intent broadcast that goes to a broadcast receiver that
+ * The alarm is an intent broadcast that goes to a broadcast receiver that
* you registered with {@link android.content.Context#registerReceiver}
* or through the <receiver> tag in an AndroidManifest.xml file.
*
@@ -140,34 +133,9 @@
* how many past alarm events have been accumulated into this intent
* broadcast. Recurring alarms that have gone undelivered because the
* phone was asleep may have a count greater than one when delivered.
- *
- * <div class="note">
- * <p>
- * <b>Note:</b> Beginning in API 19, the trigger time passed to this method
- * is treated as inexact: the alarm will not be delivered before this time, but
- * may be deferred and delivered some time later. The OS will use
- * this policy in order to "batch" alarms together across the entire system,
- * minimizing the number of times the device needs to "wake up" and minimizing
- * battery use. In general, alarms scheduled in the near future will not
- * be deferred as long as alarms scheduled far in the future.
- *
- * <p>
- * With the new batching policy, delivery ordering guarantees are not as
- * strong as they were previously. If the application sets multiple alarms,
- * it is possible that these alarms' <em>actual</em> delivery ordering may not match
- * the order of their <em>requested</em> delivery times. If your application has
- * strong ordering requirements there are other APIs that you can use to get
- * the necessary behavior; see {@link #setWindow(int, long, long, PendingIntent)}
- * and {@link #setExact(int, long, PendingIntent)}.
- *
- * <p>
- * Applications whose {@code targetSdkVersion} is before API 19 will
- * continue to get the previous alarm behavior: all of their scheduled alarms
- * will be treated as exact.
- * </div>
- *
- * @param type One of {@link #ELAPSED_REALTIME}, {@link #ELAPSED_REALTIME_WAKEUP},
- * {@link #RTC}, or {@link #RTC_WAKEUP}.
+ *
+ * @param type One of ELAPSED_REALTIME, ELAPSED_REALTIME_WAKEUP, RTC or
+ * RTC_WAKEUP.
* @param triggerAtMillis time in milliseconds that the alarm should go
* off, using the appropriate clock (depending on the alarm type).
* @param operation Action to perform when the alarm goes off;
@@ -197,10 +165,10 @@
* {@link android.os.Handler}.</b> If there is already an alarm scheduled
* for the same IntentSender, it will first be canceled.
*
- * <p>Like {@link #set}, except you can also supply a period at which
- * the alarm will automatically repeat. This alarm continues
- * repeating until explicitly removed with {@link #cancel}. If the stated
- * trigger time is in the past, the alarm will be triggered immediately, with an
+ * <p>Like {@link #set}, except you can also
+ * supply a rate at which the alarm will repeat. This alarm continues
+ * repeating until explicitly removed with {@link #cancel}. If the time
+ * occurs in the past, the alarm will be triggered immediately, with an
* alarm count depending on how far in the past the trigger time is relative
* to the repeat interval.
*
@@ -217,15 +185,8 @@
* between alarms, then the approach to take is to use one-time alarms,
* scheduling the next one yourself when handling each alarm delivery.
*
- * <p class="note">
- * <b>Note:</b> as of API 19, all repeating alarms are inexact. If your
- * application needs precise delivery times then it must use one-time
- * exact alarms, rescheduling each time as described above. Legacy applications
- * whose {@code targetSdkVersion} is earlier than API 19 will continue to have all
- * of their alarms, including repeating alarms, treated as exact.
- *
- * @param type One of {@link #ELAPSED_REALTIME}, {@link #ELAPSED_REALTIME_WAKEUP},
- * {@link #RTC}, or {@link #RTC_WAKEUP}.
+ * @param type One of ELAPSED_REALTIME, ELAPSED_REALTIME_WAKEUP}, RTC or
+ * RTC_WAKEUP.
* @param triggerAtMillis time in milliseconds that the alarm should first
* go off, using the appropriate clock (depending on the alarm type).
* @param intervalMillis interval in milliseconds between subsequent repeats
@@ -253,33 +214,18 @@
}
/**
- * Schedule an alarm to be delivered within a given window of time. This method
- * is similar to {@link #set(int, long, PendingIntent)}, but allows the
- * application to precisely control the degree to which its delivery might be
- * adjusted by the OS. This method allows an application to take advantage of the
- * battery optimizations that arise from delivery batching even when it has
- * modest timeliness requirements for its alarms.
+ * Schedule an alarm to be delivered within a given window of time.
*
- * <p>
- * This method can also be used to achieve strict ordering guarantees among
- * multiple alarms by ensuring that the windows requested for each alarm do
- * not intersect.
+ * TBW: clean up these docs
*
- * <p>
- * When precise delivery is not required, applications should use the standard
- * {@link #set(int, long, PendingIntent)} method. This will give the OS the most
- * flexibility to minimize wakeups and battery use. For alarms that must be delivered
- * at precisely-specified times with no acceptable variation, applications can use
- * {@link #setExact(int, long, PendingIntent)}.
- *
- * @param type One of {@link #ELAPSED_REALTIME}, {@link #ELAPSED_REALTIME_WAKEUP},
- * {@link #RTC}, or {@link #RTC_WAKEUP}.
+ * @param type One of ELAPSED_REALTIME, ELAPSED_REALTIME_WAKEUP, RTC or
+ * RTC_WAKEUP.
* @param windowStartMillis The earliest time, in milliseconds, that the alarm should
* be delivered, expressed in the appropriate clock's units (depending on the alarm
* type).
* @param windowLengthMillis The length of the requested delivery window,
* in milliseconds. The alarm will be delivered no later than this many
- * milliseconds after {@code windowStartMillis}. Note that this parameter
+ * milliseconds after the windowStartMillis time. Note that this parameter
* is a <i>duration,</i> not the timestamp of the end of the window.
* @param operation Action to perform when the alarm goes off;
* typically comes from {@link PendingIntent#getBroadcast
@@ -303,38 +249,8 @@
}
/**
- * Schedule an alarm to be delivered precisely at the stated time.
- *
- * <p>
- * This method is like {@link #set(int, long, PendingIntent)}, but does not permit
- * the OS to adjust the delivery time. The alarm will be delivered as nearly as
- * possible to the requested trigger time.
- *
- * <p>
- * <b>Note:</b> only alarms for which there is a strong demand for exact-time
- * delivery (such as an alarm clock ringing at the requested time) should be
- * scheduled as exact. Applications are strongly discouraged from using exact
- * alarms unnecessarily as they reduce the OS's ability to minimize battery use.
- *
- * @param type One of {@link #ELAPSED_REALTIME}, {@link #ELAPSED_REALTIME_WAKEUP},
- * {@link #RTC}, or {@link #RTC_WAKEUP}.
- * @param triggerAtMillis time in milliseconds that the alarm should go
- * off, using the appropriate clock (depending on the alarm type).
- * @param operation Action to perform when the alarm goes off;
- * typically comes from {@link PendingIntent#getBroadcast
- * IntentSender.getBroadcast()}.
- *
- * @see #set
- * @see #setRepeating
- * @see #setWindow
- * @see #cancel
- * @see android.content.Context#sendBroadcast
- * @see android.content.Context#registerReceiver
- * @see android.content.Intent#filterEquals
- * @see #ELAPSED_REALTIME
- * @see #ELAPSED_REALTIME_WAKEUP
- * @see #RTC
- * @see #RTC_WAKEUP
+ * TBW: new 'exact' alarm that must be delivered as nearly as possible
+ * to the precise time specified.
*/
public void setExact(int type, long triggerAtMillis, PendingIntent operation) {
setImpl(type, triggerAtMillis, WINDOW_EXACT, 0, operation, null);
@@ -367,82 +283,74 @@
}
/**
- * Available inexact recurrence interval recognized by
- * {@link #setInexactRepeating(int, long, long, PendingIntent)}
- * when running on Android prior to API 19.
+ * @deprecated setInexactRepeating() is deprecated; as of API 19 all
+ * repeating alarms are inexact.
*/
+ @Deprecated
public static final long INTERVAL_FIFTEEN_MINUTES = 15 * 60 * 1000;
/**
- * Available inexact recurrence interval recognized by
- * {@link #setInexactRepeating(int, long, long, PendingIntent)}
- * when running on Android prior to API 19.
+ * @deprecated setInexactRepeating() is deprecated; as of API 19 all
+ * repeating alarms are inexact.
*/
+ @Deprecated
public static final long INTERVAL_HALF_HOUR = 2*INTERVAL_FIFTEEN_MINUTES;
/**
- * Available inexact recurrence interval recognized by
- * {@link #setInexactRepeating(int, long, long, PendingIntent)}
- * when running on Android prior to API 19.
+ * @deprecated setInexactRepeating() is deprecated; as of API 19 all
+ * repeating alarms are inexact.
*/
+ @Deprecated
public static final long INTERVAL_HOUR = 2*INTERVAL_HALF_HOUR;
/**
- * Available inexact recurrence interval recognized by
- * {@link #setInexactRepeating(int, long, long, PendingIntent)}
- * when running on Android prior to API 19.
+ * @deprecated setInexactRepeating() is deprecated; as of API 19 all
+ * repeating alarms are inexact.
*/
+ @Deprecated
public static final long INTERVAL_HALF_DAY = 12*INTERVAL_HOUR;
/**
- * Available inexact recurrence interval recognized by
- * {@link #setInexactRepeating(int, long, long, PendingIntent)}
- * when running on Android prior to API 19.
+ * @deprecated setInexactRepeating() is deprecated; as of API 19 all
+ * repeating alarms are inexact.
*/
+ @Deprecated
public static final long INTERVAL_DAY = 2*INTERVAL_HALF_DAY;
/**
* Schedule a repeating alarm that has inexact trigger time requirements;
* for example, an alarm that repeats every hour, but not necessarily at
* the top of every hour. These alarms are more power-efficient than
- * the strict recurrences traditionally supplied by {@link #setRepeating}, since the
- * system can adjust alarms' delivery times to cause them to fire simultaneously,
+ * the strict recurrences supplied by {@link #setRepeating}, since the
+ * system can adjust alarms' phase to cause them to fire simultaneously,
* avoiding waking the device from sleep more than necessary.
- *
+ *
* <p>Your alarm's first trigger will not be before the requested time,
* but it might not occur for almost a full interval after that time. In
* addition, while the overall period of the repeating alarm will be as
* requested, the time between any two successive firings of the alarm
* may vary. If your application demands very low jitter, use
- * one-shot alarms with an appropriate window instead; see {@link
- * #setWindow(int, long, long, PendingIntent)} and
- * {@link #setExact(int, long, PendingIntent)}.
+ * {@link #setRepeating} instead.
*
- * <p class="note">
- * As of API 19, all repeating alarms are inexact. Because this method has
- * been available since API 3, your application can safely call it and be
- * assured that it will get similar behavior on both current and older versions
- * of Android.
- *
- * @param type One of {@link #ELAPSED_REALTIME}, {@link #ELAPSED_REALTIME_WAKEUP},
- * {@link #RTC}, or {@link #RTC_WAKEUP}.
+ * @param type One of ELAPSED_REALTIME, ELAPSED_REALTIME_WAKEUP}, RTC or
+ * RTC_WAKEUP.
* @param triggerAtMillis time in milliseconds that the alarm should first
* go off, using the appropriate clock (depending on the alarm type). This
* is inexact: the alarm will not fire before this time, but there may be a
* delay of almost an entire alarm interval before the first invocation of
* the alarm.
* @param intervalMillis interval in milliseconds between subsequent repeats
- * of the alarm. Prior to API 19, if this is one of INTERVAL_FIFTEEN_MINUTES,
+ * of the alarm. If this is one of INTERVAL_FIFTEEN_MINUTES,
* INTERVAL_HALF_HOUR, INTERVAL_HOUR, INTERVAL_HALF_DAY, or INTERVAL_DAY
* then the alarm will be phase-aligned with other alarms to reduce the
* number of wakeups. Otherwise, the alarm will be set as though the
- * application had called {@link #setRepeating}. As of API 19, all repeating
- * alarms will be inexact and subject to batching with other alarms regardless
- * of their stated repeat interval.
+ * application had called {@link #setRepeating}.
* @param operation Action to perform when the alarm goes off;
* typically comes from {@link PendingIntent#getBroadcast
* IntentSender.getBroadcast()}.
*
+ * @deprecated As of API 19, all repeating alarms are inexact.
+ *
* @see android.os.Handler
* @see #set
* @see #cancel
@@ -459,6 +367,7 @@
* @see #INTERVAL_HALF_DAY
* @see #INTERVAL_DAY
*/
+ @Deprecated
public void setInexactRepeating(int type, long triggerAtMillis,
long intervalMillis, PendingIntent operation) {
setImpl(type, triggerAtMillis, WINDOW_HEURISTIC, intervalMillis, operation, null);
diff --git a/core/java/android/print/PageRange.java b/core/java/android/print/PageRange.java
index d6320f0..cdcd0c7 100644
--- a/core/java/android/print/PageRange.java
+++ b/core/java/android/print/PageRange.java
@@ -39,8 +39,9 @@
* @param start The start page index (zero based and inclusive).
* @param end The end page index (zero based and inclusive).
*
- * @throws IllegalArgumentException If start is less than zero or end
- * is less than zero or start greater than end.
+ * @throws IllegalArgumentException If start is less than zero.
+ * @throws IllegalArgumentException If end is less than zero.
+ * @throws IllegalArgumentException If start greater than end.
*/
public PageRange(int start, int end) {
if (start < 0) {
diff --git a/core/java/android/print/PrintAttributes.java b/core/java/android/print/PrintAttributes.java
index 93a8c80..e1a9cb7 100644
--- a/core/java/android/print/PrintAttributes.java
+++ b/core/java/android/print/PrintAttributes.java
@@ -30,11 +30,7 @@
import java.util.Map;
/**
- * This class represents the attributes of a print job. These attributes
- * describe how the printed content should be laid out. For example, the
- * print attributes may state that the content should be laid out on a
- * letter size with 300 DPI (dots per inch) resolution, have a margin of
- * 10 mills (thousand of an inch) on all sides, and be black and white.
+ * This class represents the attributes of a print job.
*/
public final class PrintAttributes implements Parcelable {
/** Color mode: Monochrome color scheme, for example one color is used. */
@@ -281,7 +277,7 @@
* Unknown media size in portrait mode.
* <p>
* <strong>Note: </strong>This is for specifying orientation without media
- * size. You should not use the dimensions reported by this instance.
+ * size. You should not use the dimensions reported by this class.
* </p>
*/
public static final MediaSize UNKNOWN_PORTRAIT =
@@ -292,7 +288,7 @@
* Unknown media size in landscape mode.
* <p>
* <strong>Note: </strong>This is for specifying orientation without media
- * size. You should not use the dimensions reported by this instance.
+ * size. You should not use the dimensions reported by this class.
* </p>
*/
public static final MediaSize UNKNOWN_LANDSCAPE =
@@ -619,7 +615,9 @@
private final int mHeightMils;
/**
- * Creates a new instance.
+ * Creates a new instance. This is the preferred constructor since
+ * it enables the media size label to be shown in a localized fashion
+ * on a locale change.
*
* @param id The unique media size id.
* @param packageName The name of the creating package.
@@ -627,9 +625,10 @@
* @param widthMils The width in mils (thousands of an inch).
* @param heightMils The height in mils (thousands of an inch).
*
- * @throws IllegalArgumentException If the id is empty or the label
- * is empty or the widthMils is less than or equal to zero or the
- * heightMils is less than or equal to zero.
+ * @throws IllegalArgumentException If the id is empty.
+ * @throws IllegalArgumentException If the label is empty.
+ * @throws IllegalArgumentException If the widthMils is less than or equal to zero.
+ * @throws IllegalArgumentException If the heightMils is less than or equal to zero.
*
* @hide
*/
@@ -668,13 +667,14 @@
*
* @param id The unique media size id. It is unique amongst other media sizes
* supported by the printer.
- * @param label The <strong>localized</strong> human readable label.
+ * @param label The <strong>internationalized</strong> human readable label.
* @param widthMils The width in mils (thousands of an inch).
* @param heightMils The height in mils (thousands of an inch).
*
- * @throws IllegalArgumentException If the id is empty or the label is empty
- * or the widthMils is less than or equal to zero or the heightMils is less
- * than or equal to zero.
+ * @throws IllegalArgumentException If the id is empty.
+ * @throws IllegalArgumentException If the label is empty.
+ * @throws IllegalArgumentException If the widthMils is less than or equal to zero.
+ * @throws IllegalArgumentException If the heightMils is less than or equal to zero.
*/
public MediaSize(String id, String label, int widthMils, int heightMils) {
if (TextUtils.isEmpty(id)) {
@@ -776,11 +776,10 @@
}
/**
- * Returns a new media size instance in a portrait orientation,
+ * Returns a new media size in a portrait orientation
* which is the height is the greater dimension.
*
- * @return New instance in landscape orientation if this one
- * is in landscape, otherwise this instance.
+ * @return New instance in landscape orientation.
*/
public MediaSize asPortrait() {
return new MediaSize(mId, mLabel, mPackageName,
@@ -790,11 +789,10 @@
}
/**
- * Returns a new media size instance in a landscape orientation,
+ * Returns a new media size in a landscape orientation
* which is the height is the lesser dimension.
*
- * @return New instance in landscape orientation if this one
- * is in portrait, otherwise this instance.
+ * @return New instance in landscape orientation.
*/
public MediaSize asLandscape() {
return new MediaSize(mId, mLabel, mPackageName,
@@ -883,8 +881,8 @@
* This class specifies a supported resolution in DPI (dots per inch).
* Resolution defines how many points with different color can be placed
* on one inch in horizontal or vertical direction of the target media.
- * For example, a printer with 600 DPI can produce higher quality images
- * the one with 300 DPI resolution.
+ * For example, a printer with 600DIP can produce higher quality images
+ * the one with 300DPI resolution.
*/
public static final class Resolution {
private final String mId;
@@ -897,13 +895,14 @@
*
* @param id The unique resolution id. It is unique amongst other resolutions
* supported by the printer.
- * @param label The <strong>localized</strong> human readable label.
+ * @param label The <strong>internationalized</strong> human readable label.
* @param horizontalDpi The horizontal resolution in DPI (dots per inch).
* @param verticalDpi The vertical resolution in DPI (dots per inch).
*
- * @throws IllegalArgumentException If the id is empty or the label is empty
- * or the horizontalDpi is less than or equal to zero or the verticalDpi is
- * less than or equal to zero.
+ * @throws IllegalArgumentException If the id is empty.
+ * @throws IllegalArgumentException If the label is empty.
+ * @throws IllegalArgumentException If the horizontalDpi is less than or equal to zero.
+ * @throws IllegalArgumentException If the verticalDpi is less than or equal to zero.
*/
public Resolution(String id, String label, int horizontalDpi, int verticalDpi) {
if (TextUtils.isEmpty(id)) {
diff --git a/core/java/android/print/PrintDocumentAdapter.java b/core/java/android/print/PrintDocumentAdapter.java
index 9e811a6..4113ac7 100644
--- a/core/java/android/print/PrintDocumentAdapter.java
+++ b/core/java/android/print/PrintDocumentAdapter.java
@@ -38,46 +38,15 @@
* </li>
* <li>
* After every call to {@link #onLayout(PrintAttributes, PrintAttributes,
- * CancellationSignal, LayoutResultCallback, Bundle)}, you <strong>may</strong> get
- * a call to {@link #onWrite(PageRange[], ParcelFileDescriptor, CancellationSignal,
- * WriteResultCallback)} asking you to write a PDF file with the content for
- * specific pages.
+ * CancellationSignal, LayoutResultCallback, Bundle)}, you may get a call to
+ * {@link #onWrite(PageRange[], ParcelFileDescriptor, CancellationSignal, WriteResultCallback)}
+ * asking you to write a PDF file with the content for specific pages.
* </li>
* <li>
* Finally, you will receive a call to {@link #onFinish()}. You can use this
* callback to release resources allocated in {@link #onStart()}.
* </li>
* </ul>
- * <p>
- * The {@link #onStart()} callback is always the first call you will receive and
- * is useful for doing one time setup or resource allocation before printing. You
- * will not receive a subsequent call here.
- * </p>
- * <p>
- * The {@link #onLayout(PrintAttributes, PrintAttributes, CancellationSignal,
- * LayoutResultCallback, Bundle)} callback requires that you layout the content
- * based on the current {@link PrintAttributes}. The execution of this method is
- * not considered completed until you invoke one of the methods on the passed in
- * callback instance. Hence, you will not receive a subsequent call to any other
- * method of this class until the execution of this method is complete by invoking
- * one of the callback methods.
- * </p>
- * <p>
- * The {@link #onWrite(PageRange[], ParcelFileDescriptor, CancellationSignal,
- * WriteResultCallback)} requires that you render and write the content of some
- * pages to the provided destination. The execution of this method is not
- * considered complete until you invoke one of the methods on the passed in
- * callback instance. Hence, you will not receive a subsequent call to any other
- * method of this class until the execution of this method is complete by invoking
- * one of the callback methods. You will never receive a sequence of one or more
- * calls to this method without a previous call to {@link #onLayout(PrintAttributes,
- * PrintAttributes, CancellationSignal, LayoutResultCallback, Bundle)}.
- * </p>
- * <p>
- * The {@link #onFinish()} callback is always the last call you will receive and
- * is useful for doing one time cleanup or resource deallocation after printing.
- * You will not receive a subsequent call here.
- * </p>
* </p>
* <h3>Implementation</h3>
* <p>
@@ -85,11 +54,7 @@
* of the work on an arbitrary thread. For example, if the printed content
* does not depend on the UI state, i.e. on what is shown on the screen, then
* you can offload the entire work on a dedicated thread, thus making your
- * application interactive while the print work is being performed. Note that
- * while your activity is covered by the system print UI and a user cannot
- * interact with it, doing the printing work on the main application thread
- * may affect the performance of your other application components as they
- * are also executed on that thread.
+ * application interactive while the print work is being performed.
* </p>
* <p>
* You can also do work on different threads, for example if you print UI
@@ -99,7 +64,7 @@
* This will ensure that the UI does not change while you are laying out the
* printed content. Then you can handle {@link #onWrite(PageRange[], ParcelFileDescriptor,
* CancellationSignal, WriteResultCallback)} and {@link #onFinish()} on another
- * thread. This will ensure that the main thread is busy for a minimal amount of
+ * thread. This will ensure that the UI is frozen for the minimal amount of
* time. Also this assumes that you will generate the printed content in
* {@link #onLayout(PrintAttributes, PrintAttributes, CancellationSignal,
* LayoutResultCallback, Bundle)} which is not mandatory. If you use multiple
@@ -111,12 +76,6 @@
/**
* Extra: mapped to a boolean value that is <code>true</code> if
* the current layout is for a print preview, <code>false</code> otherwise.
- * This extra is provided in the {@link Bundle} argument of the {@link
- * #onLayout(PrintAttributes, PrintAttributes, CancellationSignal,
- * LayoutResultCallback, Bundle)} callback.
- *
- * @see #onLayout(PrintAttributes, PrintAttributes, CancellationSignal,
- * LayoutResultCallback, Bundle)
*/
public static final String EXTRA_PRINT_PREVIEW = "EXTRA_PRINT_PREVIEW";
@@ -136,20 +95,17 @@
* After you are done laying out, you <strong>must</strong> invoke: {@link
* LayoutResultCallback#onLayoutFinished(PrintDocumentInfo, boolean)} with
* the last argument <code>true</code> or <code>false</code> depending on
- * whether the layout changed the content or not, respectively; or {@link
- * LayoutResultCallback#onLayoutFailed(CharSequence)}, if an error occurred;
- * or {@link LayoutResultCallback#onLayoutCancelled()} if layout was
- * cancelled in a response to a cancellation request via the passed in
- * {@link CancellationSignal}. Note that you <strong>must</strong> call one of
- * the methods of the given callback for this method to be considered complete.
+ * whether the layout changed the content or not, respectively; and {@link
+ * LayoutResultCallback#onLayoutFailed(CharSequence)}, if an error occurred.
+ * Note that you must call one of the methods of the given callback.
* </p>
* <p>
* <strong>Note:</strong> If the content is large and a layout will be
* performed, it is a good practice to schedule the work on a dedicated
* thread and register an observer in the provided {@link
* CancellationSignal} upon invocation of which you should stop the
- * layout. The cancellation callback <strong>will not</strong> be made on
- * the main thread.
+ * layout. The cancellation callback will not be made on the main
+ * thread.
* </p>
*
* @param oldAttributes The old print attributes.
@@ -172,12 +128,10 @@
* on the main thread.
*<p>
* After you are done writing, you should close the file descriptor and
- * invoke {@link WriteResultCallback#onWriteFinished(PageRange[])}, if writing
+ * invoke {@link WriteResultCallback #onWriteFinished(PageRange[]), if writing
* completed successfully; or {@link WriteResultCallback#onWriteFailed(
- * CharSequence)}, if an error occurred; or {@link WriteResultCallback#onWriteCancelled()},
- * if writing was cancelled in a response to a cancellation request via the passed
- * in {@link CancellationSignal}. Note that you <strong>must</strong> call one of
- * the methods of the given callback for this method to be considered complete.
+ * CharSequence)}, if an error occurred. Note that you must call one of
+ * the methods of the given callback.
* </p>
* <p>
* <strong>Note:</strong> If the printed content is large, it is a good
@@ -224,8 +178,7 @@
/**
* Notifies that all the data was written.
*
- * @param pages The pages that were written. Cannot be <code>null</code>
- * or empty.
+ * @param pages The pages that were written. Cannot be null or empty.
*/
public void onWriteFinished(PageRange[] pages) {
/* do nothing - stub */
@@ -234,8 +187,7 @@
/**
* Notifies that an error occurred while writing the data.
*
- * @param error The <strong>localized</strong> error message.
- * shown to the user. May be <code>null</code> if error is unknown.
+ * @param error Error message. May be null if error is unknown.
*/
public void onWriteFailed(CharSequence error) {
/* do nothing - stub */
@@ -266,7 +218,7 @@
/**
* Notifies that the layout finished and whether the content changed.
*
- * @param info An info object describing the document. Cannot be <code>null</code>.
+ * @param info An info object describing the document. Cannot be null.
* @param changed Whether the layout changed.
*
* @see PrintDocumentInfo
@@ -278,8 +230,7 @@
/**
* Notifies that an error occurred while laying out the document.
*
- * @param error The <strong>localized</strong> error message.
- * shown to the user. May be <code>null</code> if error is unknown.
+ * @param error Error message. May be null if error is unknown.
*/
public void onLayoutFailed(CharSequence error) {
/* do nothing - stub */
diff --git a/core/java/android/print/PrintDocumentInfo.java b/core/java/android/print/PrintDocumentInfo.java
index 4ebf3b3..b721ef4 100644
--- a/core/java/android/print/PrintDocumentInfo.java
+++ b/core/java/android/print/PrintDocumentInfo.java
@@ -21,56 +21,12 @@
import android.text.TextUtils;
/**
- * This class encapsulates information about a document for printing
- * purposes. This meta-data is used by the platform and print services,
- * components that interact with printers. For example, this class
- * contains the number of pages contained in the document it describes and
- * this number of pages is shown to the user allowing him/her to select
- * the range to print. Also a print service may optimize the printing
- * process based on the content type, such as document or photo.
- * <p>
- * Instances of this class are created by the printing application and
- * passed to the {@link PrintDocumentAdapter.LayoutResultCallback#onLayoutFinished(
- * PrintDocumentInfo, boolean) PrintDocumentAdapter.LayoutResultCallback.onLayoutFinished(
- * PrintDocumentInfo, boolean)} callback after successfully laying out the
- * content which is performed in {@link PrintDocumentAdapter#onLayout(PrintAttributes,
- * PrintAttributes, android.os.CancellationSignal, PrintDocumentAdapter.LayoutResultCallback,
- * android.os.Bundle) PrintDocumentAdapter.onLayout(PrintAttributes,
- * PrintAttributes, android.os.CancellationSignal,
- * PrintDocumentAdapter.LayoutResultCallback, android.os.Bundle)}.
- * </p>
- * <p>
- * An example usage looks like this:
- * <pre>
- *
- * . . .
- *
- * public void onLayout(PrintAttributes oldAttributes, PrintAttributes newAttributes,
- * CancellationSignal cancellationSignal, LayoutResultCallback callback,
- * Bundle metadata) {
- *
- * // Assume the app defined a LayoutResult class which contains
- * // the layout result data and that the content is a document.
- * LayoutResult result = doSomeLayoutWork();
- *
- * PrintDocumentInfo info = new PrintDocumentInfo
- * .Builder("printed_file.pdf")
- * .setContentType(PrintDocumentInfo.CONTENT_TYPE_DOCUMENT)
- * .setPageCount(result.getPageCount())
- * .build();
- *
- * callback.onLayoutFinished(info, result.getContentChanged());
- * }
- *
- * . . .
- *
- * </pre>
- * </p>
+ * This class encapsulates information about a printed document.
*/
public final class PrintDocumentInfo implements Parcelable {
/**
- * Constant for unknown page count.
+ * Constant for unknown page count..
*/
public static final int PAGE_COUNT_UNKNOWN = -1;
@@ -81,23 +37,11 @@
/**
* Content type: document.
- * <p>
- * A print service may use normal paper to print the content instead
- * of dedicated photo paper. Also it may use a lower quality printing
- * process as the content is not as sensitive to print quality variation
- * as a photo is.
- * </p>
*/
public static final int CONTENT_TYPE_DOCUMENT = 0;
/**
* Content type: photo.
- * <p>
- * A print service may use dedicated photo paper to print the content
- * instead of normal paper. Also it may use a higher quality printing
- * process as the content is more sensitive to print quality variation
- * than a document.
- * </p>
*/
public static final int CONTENT_TYPE_PHOTO = 1;
@@ -138,8 +82,7 @@
}
/**
- * Gets the document name. This name may be shown to
- * the user.
+ * Gets the document name.
*
* @return The document name.
*/
@@ -270,23 +213,20 @@
}
/**
- * Builder for creating a {@link PrintDocumentInfo}.
+ * Builder for creating an {@link PrintDocumentInfo}.
*/
public static final class Builder {
private final PrintDocumentInfo mPrototype;
/**
* Constructor.
- *
* <p>
- * The values of the relevant properties are initialized with defaults.
- * Please refer to the documentation of the individual setters for
- * information about the default values.
+ * The values of the relevant properties are initialized with default
+ * values. Please refer to the documentation of the individual setters
+ * for information about the default values.
* </p>
*
- * @param name The document name which may be shown to the user and
- * is the file name if the content it describes is saved as a PDF.
- * Cannot be empty.
+ * @param name The document name. Cannot be empty.
*/
public Builder(String name) {
if (TextUtils.isEmpty(name)) {
diff --git a/core/java/android/print/PrintJob.java b/core/java/android/print/PrintJob.java
index 0abe2193..535ae43 100644
--- a/core/java/android/print/PrintJob.java
+++ b/core/java/android/print/PrintJob.java
@@ -17,13 +17,8 @@
package android.print;
/**
- * This class represents a print job from the perspective of an
- * application. It contains behavior methods for performing operations
- * on it as well as methods for querying its state. A snapshot of the
- * print job state is represented by the {@link PrintJobInfo} class.
- * The state of a print job may change over time. An application receives
- * instances of this class when creating a print job or querying for
- * its print jobs.
+ * This class represents a print job from the perspective of
+ * an application.
*/
public final class PrintJob {
@@ -150,12 +145,11 @@
/**
* Gets whether this print job is failed. Such a print job is
* not successfully printed due to an error. You can request
- * a restart via {@link #restart()} or cancel via {@link #cancel()}.
+ * a restart via {@link #restart()}.
*
* @return Whether the print job is failed.
*
* @see #restart()
- * @see #cancel()
*/
public boolean isFailed() {
return getInfo().getState() == PrintJobInfo.STATE_FAILED;
diff --git a/core/java/android/print/PrintJobInfo.java b/core/java/android/print/PrintJobInfo.java
index c2f190d..c6f0a68 100644
--- a/core/java/android/print/PrintJobInfo.java
+++ b/core/java/android/print/PrintJobInfo.java
@@ -22,10 +22,7 @@
import java.util.Arrays;
/**
- * This class represents the description of a print job. The print job
- * state includes properties such as its id, print attributes used for
- * generating the content, and so on. Note that the print jobs state may
- * change over time and this class represents a snapshot of this state.
+ * This class represents the description of a print job.
*/
public final class PrintJobInfo implements Parcelable {
@@ -96,7 +93,7 @@
public static final int STATE_BLOCKED = 4;
/**
- * Print job state: The print job is successfully printed.
+ * Print job state: The print job was successfully printed.
* This is a terminal state.
* <p>
* Next valid states: None
@@ -106,14 +103,15 @@
/**
* Print job state: The print job was printing but printing failed.
+ * This is a terminal state.
* <p>
- * Next valid states: {@link #STATE_CANCELED}, {@link #STATE_STARTED}
+ * Next valid states: None
* </p>
*/
public static final int STATE_FAILED = 6;
/**
- * Print job state: The print job is canceled.
+ * Print job state: The print job was canceled.
* This is a terminal state.
* <p>
* Next valid states: None
@@ -299,14 +297,6 @@
* Gets the current job state.
*
* @return The job state.
- *
- * @see #STATE_CREATED
- * @see #STATE_QUEUED
- * @see #STATE_STARTED
- * @see #STATE_COMPLETED
- * @see #STATE_BLOCKED
- * @see #STATE_FAILED
- * @see #STATE_CANCELED
*/
public int getState() {
return mState;
@@ -621,7 +611,7 @@
* Constructor.
*
* @param prototype Prototype to use as a starting point.
- * Can be <code>null</code>.
+ * Can be null.
*/
public Builder(PrintJobInfo prototype) {
mPrototype = (prototype != null)
diff --git a/core/java/android/print/PrintManager.java b/core/java/android/print/PrintManager.java
index 9efb7de..dbd8278 100644
--- a/core/java/android/print/PrintManager.java
+++ b/core/java/android/print/PrintManager.java
@@ -53,48 +53,6 @@
* PrintManager printManager =
* (PrintManager) context.getSystemService(Context.PRINT_SERVICE);
* </pre>
- * <h3>Print mechanics</h3>
- * <p>
- * The key idea behind printing on the platform is that the content to be printed
- * should be laid out for the currently selected print options resulting in an
- * optimized output and higher user satisfaction. To achieve this goal the platform
- * declares a contract that the printing application has to follow which is defined
- * by the {@link PrintDocumentAdapter} class. At a higher level the contract is that
- * when the user selects some options from the print UI that may affect the way
- * content is laid out, for example page size, the application receives a callback
- * allowing it to layout the content to better fit these new constraints. After a
- * layout pass the system may ask the application to render one or more pages one
- * or more times. For example, an application may produce a single column list for
- * smaller page sizes and a multi-column table for larger page sizes.
- * </p>
- * <h3>Print jobs</h3>
- * <p>
- * Print jobs are started by calling the {@link #print(String, PrintDocumentAdapter,
- * PrintAttributes)} from an activity which results in bringing up the system print
- * UI. Once the print UI is up, when the user changes a selected print option that
- * affects the way content is laid out the system starts to interact with the
- * application following the mechanics described the section above.
- * </p>
- * <p>
- * Print jobs can be in {@link PrintJobInfo#STATE_CREATED created}, {@link
- * PrintJobInfo#STATE_QUEUED queued}, {@link PrintJobInfo#STATE_STARTED started},
- * {@link PrintJobInfo#STATE_BLOCKED blocked}, {@link PrintJobInfo#STATE_COMPLETED
- * completed}, {@link PrintJobInfo#STATE_FAILED failed}, and {@link
- * PrintJobInfo#STATE_CANCELED canceled} state. Print jobs are stored in dedicated
- * system spooler until they are handled which is they are cancelled or completed.
- * Active print jobs, ones that are not cancelled or completed, are considered failed
- * if the device reboots as the new boot may be after a very long time. The user may
- * choose to restart such print jobs. Once a print job is queued all relevant content
- * is stored in the system spooler and its lifecycle becomes detached from this of
- * the application that created it.
- * </p>
- * <p>
- * An applications can query the print spooler for current print jobs it created
- * but not print jobs created by other applications.
- * </p>
- *
- * @see PrintJob
- * @see PrintJobInfo
*/
public final class PrintManager {
@@ -332,39 +290,11 @@
/**
* Creates a print job for printing a {@link PrintDocumentAdapter} with
* default print attributes.
- * <p>
- * Calling this method brings the print UI allowing the user to customize
- * the print job and returns a {@link PrintJob} object without waiting for the
- * user to customize or confirm the print job. The returned print job instance
- * is in a {@link PrintJobInfo#STATE_CREATED created} state.
- * <p>
- * This method can be called only from an {@link Activity}. The rationale is that
- * printing from a service will create an inconsistent user experience as the print
- * UI would appear without any context.
- * </p>
- * <p>
- * Also the passed in {@link PrintDocumentAdapter} will be considered invalid if
- * your activity is finished. The rationale is that once the activity that
- * initiated printing is finished, the provided adapter may be in an inconsistent
- * state as it may depend on the UI presented by the activity.
- * </p>
- * <p>
- * The default print attributes are a hint to the system how the data is to
- * be printed. For example, a photo editor may look at the photo aspect ratio
- * to determine the default orientation and provide a hint whether the printing
- * should be in portrait or landscape. The system will do a best effort to
- * selected the hinted options in the print dialog, given the current printer
- * supports them.
- * </p>
- *
- * @param printJobName A name for the new print job which is shown to the user.
+ *
+ * @param printJobName A name for the new print job.
* @param documentAdapter An adapter that emits the document to print.
- * @param attributes The default print job attributes or <code>null</code>.
+ * @param attributes The default print job attributes.
* @return The created print job on success or null on failure.
- * @throws IllegalStateException If not called from an {@link Activity}.
- * @throws IllegalArgumentException If the print job name is empty or the
- * document adapter is null.
- *
* @see PrintJob
*/
public PrintJob print(String printJobName, PrintDocumentAdapter documentAdapter,
diff --git a/core/java/android/print/PrinterCapabilitiesInfo.java b/core/java/android/print/PrinterCapabilitiesInfo.java
index 87a6b29..df51ec1 100644
--- a/core/java/android/print/PrinterCapabilitiesInfo.java
+++ b/core/java/android/print/PrinterCapabilitiesInfo.java
@@ -24,17 +24,10 @@
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collections;
import java.util.List;
/**
- * This class represents the capabilities of a printer. Instances
- * of this class are created by a print service to report the
- * capabilities of a printer it manages. The capabilities of a
- * printer specify how it can print content. For example, what
- * are the media sizes supported by the printer, what are the
- * minimal margins of the printer based on its technical design,
- * etc.
+ * This class represents the capabilities of a printer.
*/
public final class PrinterCapabilitiesInfo implements Parcelable {
/**
@@ -142,9 +135,9 @@
}
/**
- * Gets the bit mask of supported color modes.
+ * Gets the supported color modes.
*
- * @return The bit mask of supported color modes.
+ * @return The color modes.
*
* @see PrintAttributes#COLOR_MODE_COLOR
* @see PrintAttributes#COLOR_MODE_MONOCHROME
@@ -362,10 +355,9 @@
}
/**
- * Builder for creating of a {@link PrinterCapabilitiesInfo}. This class is
- * responsible to enforce that all required attributes have at least one
- * default value. In other words, this class creates only well-formed {@link
- * PrinterCapabilitiesInfo}s.
+ * Builder for creating of a {@link PrinterInfo}. This class is responsible
+ * to enforce that all required attributes have at least one default value.
+ * In other words, this class creates only well-formed {@link PrinterInfo}s.
* <p>
* Look at the individual methods for a reference whether a property is
* required or if it is optional.
@@ -377,9 +369,9 @@
/**
* Creates a new instance.
*
- * @param printerId The printer id. Cannot be <code>null</code>.
+ * @param printerId The printer id. Cannot be null.
*
- * @throws IllegalArgumentException If the printer id is <code>null</code>.
+ * @throws IllegalArgumentException If the printer id is null.
*/
public Builder(PrinterId printerId) {
if (printerId == null) {
@@ -500,7 +492,7 @@
/**
* Crates a new {@link PrinterCapabilitiesInfo} enforcing that all
- * required properties have been specified. See individual methods
+ * required properties have need specified. See individual methods
* in this class for reference about required attributes.
*
* @return A new {@link PrinterCapabilitiesInfo}.
diff --git a/core/java/android/print/PrinterInfo.java b/core/java/android/print/PrinterInfo.java
index 9fcc5fb..ad79a38 100644
--- a/core/java/android/print/PrinterInfo.java
+++ b/core/java/android/print/PrinterInfo.java
@@ -21,12 +21,7 @@
import android.text.TextUtils;
/**
- * This class represents the description of a printer. Instances of
- * this class are created by print services to report to the system
- * the printers they manage. The information of this class has two
- * major components, printer properties such as name, id, status,
- * description and printer capabilities which describe the various
- * print modes a printer supports such as media sizes, margins, etc.
+ * This class represents the description of a printer.
*/
public final class PrinterInfo implements Parcelable {
@@ -101,10 +96,6 @@
* Gets the printer status.
*
* @return The status.
- *
- * @see #STATUS_BUSY
- * @see #STATUS_IDLE
- * @see #STATUS_UNAVAILABLE
*/
public int getStatus() {
return mStatus;
@@ -225,8 +216,6 @@
* @param printerId The printer id. Cannot be null.
* @param name The printer name. Cannot be empty.
* @param status The printer status. Must be a valid status.
- * @throws IllegalArgumentException If the printer id is null, or the
- * printer name is empty or the status is not a valid one.
*/
public Builder(PrinterId printerId, String name, int status) {
if (printerId == null) {
@@ -270,8 +259,7 @@
}
/**
- * Sets the <strong>localized</strong> printer name which
- * is shown to the user
+ * Sets the printer name.
*
* @param name The name.
* @return This builder.
@@ -282,8 +270,7 @@
}
/**
- * Sets the <strong>localized</strong> printer description
- * which is shown to the user
+ * Sets the printer description.
*
* @param description The description.
* @return This builder.
@@ -305,7 +292,7 @@
}
/**
- * Creates a new {@link PrinterInfo}.
+ * Crates a new {@link PrinterInfo}.
*
* @return A new {@link PrinterInfo}.
*/
diff --git a/core/java/android/print/package.html b/core/java/android/print/package.html
deleted file mode 100644
index 579567d..0000000
--- a/core/java/android/print/package.html
+++ /dev/null
@@ -1,46 +0,0 @@
-<HTML>
-<BODY>
-<h3>Overview</h3>
-<p>
-Provides classes for implementing print support in applications and also contains all
-base classes and abstractions involved in printing. These base classes are also used
-by other more specialized printing related packages.
-</p>
-<p>
-The entry point for interacting with the print system is the {@link android.print.PrintManager}
-which is a system service that can be obtained from the current context. The print manager
-provides APIs for printing, querying the state of print jobs, etc.
-<p/>
-<h3>Print contract</h3>
-<p>
-An application that wants to implement printing must extend
-{@link android.print.PrintDocumentAdapter} which defines the contract between the system
-and the application.The key idea behind this adapter is that the printed content may change
-based on the selected print options, such as media size, orientation, which
-requires the content to be re-laid out. The constraints according to which the content has
-to be laid out are encapsulated in the {@link android.print.PrintAttributes} class. Once
-layout is completed the application calls back to the system passing a
-{@link android.print.PrintDocumentInfo} instance which describes the generated content. After
-the content has been laid out the application may be asked to render some pages of that content
-for preview or printing. The range of pages that have to be rendered is abstracted by the
-{@link android.print.PageRange} class.
-</p>
-<h3>Print jobs</h3>
-<p>
-A print job is represented by the {@link android.print.PrintJob} class which has behavior
-methods as well as methods for querying its state. Each print job has a unique id represented
-by the {@link android.print.PrintJobId} class and exposes APIs for obtaining a {@link
-android.print.PrintJobInfo} which is a snapshot of its state. The print job state may
-change over time.
-</p>
-<h3>Printers</h3>
-<p>
-An available printer represented by the {@link android.print.PrinterInfo} class has a
-unique id which is abstracted by the {@link android.print.PrinterId} class. The {@link
-android.print.PrinterInfo} contains printer properties such as id, name, description, status,
-and printer capabilities encapsulated in the {@link android.print.PrinterCapabilitiesInfo}
-class. Printer capabilities describe how a printer can print content, for example what are
-the supported media sizes, color modes, resolutions, etc.
-<p>
-</BODY>
-</HTML>
diff --git a/core/java/android/printservice/PrintService.java b/core/java/android/printservice/PrintService.java
index eb0ac2e..0fc5f7f 100644
--- a/core/java/android/printservice/PrintService.java
+++ b/core/java/android/printservice/PrintService.java
@@ -209,14 +209,6 @@
* PrintJob#getAdvancedStringOption(String) PrintJob.getAdvancedStringOption(String)}
* and {@link PrintJob#getAdvancedIntOption(String) PrintJob.getAdvancedIntOption(String)}.
* </p>
- * <p>
- * If the advanced print options activity offers changes to the standard print
- * options, you can get the current {@link android.print.PrinterInfo} using the
- * "android.intent.extra.print.EXTRA_PRINTER_INFO" extra which will allow you to
- * present the user with UI options supported by the current printer. For example,
- * if the current printer does not support a give media size, you should not
- * offer it in the advanced print options dialog.
- * </p>
*/
public static final String EXTRA_PRINT_JOB_INFO = "android.intent.extra.print.PRINT_JOB_INFO";
diff --git a/core/java/android/transition/TransitionManager.java b/core/java/android/transition/TransitionManager.java
index 82789b8..404709c 100644
--- a/core/java/android/transition/TransitionManager.java
+++ b/core/java/android/transition/TransitionManager.java
@@ -81,8 +81,6 @@
* an {@link AutoTransition} instance.
*
* @param transition The default transition to be used for scene changes.
- *
- * @hide pending later changes
*/
public void setDefaultTransition(Transition transition) {
sDefaultTransition = transition;
@@ -94,8 +92,6 @@
*
* @return The current default transition.
* @see #setDefaultTransition(Transition)
- *
- * @hide pending later changes
*/
public static Transition getDefaultTransition() {
return sDefaultTransition;
@@ -108,7 +104,7 @@
* transition to run.
* @param transition The transition that will play when the given scene is
* entered. A value of null will result in the default behavior of
- * using the default transition instead.
+ * using the {@link #getDefaultTransition() default transition} instead.
*/
public void setTransition(Scene scene, Transition transition) {
mSceneTransitions.put(scene, transition);
@@ -124,7 +120,7 @@
* be run
* @param transition The transition that will play when the given scene is
* entered. A value of null will result in the default behavior of
- * using the default transition instead.
+ * using the {@link #getDefaultTransition() default transition} instead.
*/
public void setTransition(Scene fromScene, Scene toScene, Transition transition) {
ArrayMap<Scene, Transition> sceneTransitionMap = mScenePairTransitions.get(toScene);
@@ -142,8 +138,8 @@
*
* @param scene The scene being entered
* @return The Transition to be used for the given scene change. If no
- * Transition was specified for this scene change, the default transition
- * will be used instead.
+ * Transition was specified for this scene change, the {@link #getDefaultTransition()
+ * default transition} will be used instead.
*/
private Transition getTransition(Scene scene) {
Transition transition = null;
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index bd52f49..eba6231 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -1958,7 +1958,8 @@
<!-- Must be required by a {@link android.nfc.cardemulation.HostApduService}
or {@link android.nfc.cardemulation.OffHostApduService} to ensure that only
- the system can bind to it. -->
+ the system can bind to it.
+ @hide -->
<permission android:name="android.permission.BIND_NFC_SERVICE"
android:label="@string/permlab_bindNfcService"
android:description="@string/permdesc_bindNfcService"
diff --git a/core/tests/coretests/apks/version_nosys/Android.mk b/core/tests/coretests/apks/version_nosys/Android.mk
deleted file mode 100644
index bbc8e12..0000000
--- a/core/tests/coretests/apks/version_nosys/Android.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-LOCAL_PACKAGE_NAME := version_1_nosys
-LOCAL_AAPT_FLAGS := --version-code 1 --version-name 1.0
-LOCAL_CERTIFICATE := $(LOCAL_PATH)/../../certs/unit_test
-include $(FrameworkCoreTests_BUILD_PACKAGE)
-
diff --git a/core/tests/coretests/apks/version_nosys/AndroidManifest.xml b/core/tests/coretests/apks/version_nosys/AndroidManifest.xml
deleted file mode 100644
index 46aac38..0000000
--- a/core/tests/coretests/apks/version_nosys/AndroidManifest.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 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.
--->
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.android.frameworks.coretests.version_test">
-
- <!-- Do not ask for this system permission -->
-<!-- <uses-permission android:name="android.permission.ACCESS_CACHE_FILESYSTEM" />
--->
- <!-- Which permission it uses is not important as long as it's a normal
- permission -->
- <uses-permission android:name="android.permission.VIBRATE" />
-
- <application android:hasCode="false"/>
-</manifest>
diff --git a/core/tests/coretests/apks/version_nosys/res/values/strings.xml b/core/tests/coretests/apks/version_nosys/res/values/strings.xml
deleted file mode 100644
index 3b8b3b1..0000000
--- a/core/tests/coretests/apks/version_nosys/res/values/strings.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!-- Just need this dummy file to have something to build. -->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="dummy">dummy</string>
-</resources>
diff --git a/core/tests/coretests/apks/version_nosys/src/com/android/frameworks/coretests/version_test/NullProvider.java b/core/tests/coretests/apks/version_nosys/src/com/android/frameworks/coretests/version_test/NullProvider.java
deleted file mode 100644
index f5742f0..0000000
--- a/core/tests/coretests/apks/version_nosys/src/com/android/frameworks/coretests/version_test/NullProvider.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.android.frameworks.coretests.version_test;
-
-import android.content.ContentProvider;
-import android.content.ContentValues;
-import android.database.Cursor;
-import android.net.Uri;
-
-public class NullProvider extends ContentProvider {
- @Override
- public boolean onCreate() {
- return true;
- }
-
- @Override
- public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
- String sortOrder) {
- return null;
- }
-
- @Override
- public Uri insert(Uri uri, ContentValues values) {
- return null;
- }
-
- @Override
- public int delete(Uri uri, String selection, String[] selectionArgs) {
- return 0;
- }
-
- @Override
- public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
- return 0;
- }
-
- @Override
- public String getType(Uri uri) {
- return "text/plain";
- }
-}
diff --git a/media/java/android/media/audiofx/AudioEffect.java b/media/java/android/media/audiofx/AudioEffect.java
index 1e1ef8c..12f7bd9 100644
--- a/media/java/android/media/audiofx/AudioEffect.java
+++ b/media/java/android/media/audiofx/AudioEffect.java
@@ -120,6 +120,8 @@
.fromString("58b4b260-8e06-11e0-aa8e-0002a5d5c51b");
/**
+ * @hide
+ * CANDIDATE FOR PUBLIC API
* UUID for Loudness Enhancer
*/
public static final UUID EFFECT_TYPE_LOUDNESS_ENHANCER = UUID
diff --git a/media/java/android/media/audiofx/LoudnessEnhancer.java b/media/java/android/media/audiofx/LoudnessEnhancer.java
index 7dc4175..eb2fb75 100644
--- a/media/java/android/media/audiofx/LoudnessEnhancer.java
+++ b/media/java/android/media/audiofx/LoudnessEnhancer.java
@@ -65,6 +65,7 @@
private final Object mParamListenerLock = new Object();
/**
+ * @hide
* Class constructor.
* @param audioSession system-wide unique audio session identifier. The LoudnessEnhancer
* will be attached to the MediaPlayer or AudioTrack in the same audio session.