Document threading limitations on various View methods
Bug #5150923
Change-Id: I765d8e4d63a1fee7a12b9c2992bec67b4b6d1131
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index ad76928..5b77cf7 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -8318,8 +8318,11 @@
}
/**
- * Causes the Runnable to be added to the message queue.
- * The runnable will be run on the user interface thread.
+ * <p>Causes the Runnable to be added to the message queue.
+ * The runnable will be run on the user interface thread.</p>
+ *
+ * <p>This method can be invoked from outside of the UI thread
+ * only when this View is attached to a window.</p>
*
* @param action The Runnable that will be executed.
*
@@ -8342,9 +8345,12 @@
}
/**
- * Causes the Runnable to be added to the message queue, to be run
+ * <p>Causes the Runnable to be added to the message queue, to be run
* after the specified amount of time elapses.
- * The runnable will be run on the user interface thread.
+ * The runnable will be run on the user interface thread.</p>
+ *
+ * <p>This method can be invoked from outside of the UI thread
+ * only when this View is attached to a window.</p>
*
* @param action The Runnable that will be executed.
* @param delayMillis The delay (in milliseconds) until the Runnable
@@ -8372,7 +8378,10 @@
}
/**
- * Removes the specified Runnable from the message queue.
+ * <p>Removes the specified Runnable from the message queue.</p>
+ *
+ * <p>This method can be invoked from outside of the UI thread
+ * only when this View is attached to a window.</p>
*
* @param action The Runnable to remove from the message handling queue
*
@@ -8397,9 +8406,12 @@
}
/**
- * Cause an invalidate to happen on a subsequent cycle through the event loop.
- * Use this to invalidate the View from a non-UI thread.
+ * <p>Cause an invalidate to happen on a subsequent cycle through the event loop.
+ * Use this to invalidate the View from a non-UI thread.</p>
*
+ * <p>This method can be invoked from outside of the UI thread
+ * only when this View is attached to a window.</p>
+ *
* @see #invalidate()
*/
public void postInvalidate() {
@@ -8407,8 +8419,11 @@
}
/**
- * Cause an invalidate of the specified area to happen on a subsequent cycle
- * through the event loop. Use this to invalidate the View from a non-UI thread.
+ * <p>Cause an invalidate of the specified area to happen on a subsequent cycle
+ * through the event loop. Use this to invalidate the View from a non-UI thread.</p>
+ *
+ * <p>This method can be invoked from outside of the UI thread
+ * only when this View is attached to a window.</p>
*
* @param left The left coordinate of the rectangle to invalidate.
* @param top The top coordinate of the rectangle to invalidate.
@@ -8423,8 +8438,11 @@
}
/**
- * Cause an invalidate to happen on a subsequent cycle through the event
- * loop. Waits for the specified amount of time.
+ * <p>Cause an invalidate to happen on a subsequent cycle through the event
+ * loop. Waits for the specified amount of time.</p>
+ *
+ * <p>This method can be invoked from outside of the UI thread
+ * only when this View is attached to a window.</p>
*
* @param delayMilliseconds the duration in milliseconds to delay the
* invalidation by
@@ -8442,8 +8460,11 @@
}
/**
- * Cause an invalidate of the specified area to happen on a subsequent cycle
- * through the event loop. Waits for the specified amount of time.
+ * <p>Cause an invalidate of the specified area to happen on a subsequent cycle
+ * through the event loop. Waits for the specified amount of time.</p>
+ *
+ * <p>This method can be invoked from outside of the UI thread
+ * only when this View is attached to a window.</p>
*
* @param delayMilliseconds the duration in milliseconds to delay the
* invalidation by