summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2012-06-05 17:38:50 -0700
committerDianne Hackborn <hackbod@google.com>2012-06-06 11:36:49 -0700
commit636fd528f7ad51f565a390226d9f469f8c675ccf (patch)
tree820e57c10017ba13c3858670a26d2dcde8a230ff
parent1ad66b2f873496bcbe72e91d1978cf1b2633b3a4 (diff)
downloadframeworks_base-636fd528f7ad51f565a390226d9f469f8c675ccf.zip
frameworks_base-636fd528f7ad51f565a390226d9f469f8c675ccf.tar.gz
frameworks_base-636fd528f7ad51f565a390226d9f469f8c675ccf.tar.bz2
Docs (mostly): enumerate JELLY_BEAN target SDK changes.
Okay this isn't entirely docs. I have un-hidden the new permission for binding to accessibility services; we were going to go out with it hidden since it didn't go into factory ROM, but now that we are doing other things we might as well expose it. Also changed a log from E to W, since it is not an error. Change-Id: I9226c95e3b63e12218fe41dc3f4290d9824a9e5c
-rw-r--r--api/16.txt67
-rw-r--r--api/current.txt1
-rw-r--r--core/java/android/accessibilityservice/AccessibilityService.java5
-rw-r--r--core/java/android/os/Build.java29
-rw-r--r--core/java/android/widget/RemoteViews.java2
-rw-r--r--core/res/AndroidManifest.xml3
6 files changed, 102 insertions, 5 deletions
diff --git a/api/16.txt b/api/16.txt
index 4cdff10..828d5bb 100644
--- a/api/16.txt
+++ b/api/16.txt
@@ -18,6 +18,7 @@ package android {
field public static final java.lang.String ADD_VOICEMAIL = "com.android.voicemail.permission.ADD_VOICEMAIL";
field public static final java.lang.String AUTHENTICATE_ACCOUNTS = "android.permission.AUTHENTICATE_ACCOUNTS";
field public static final java.lang.String BATTERY_STATS = "android.permission.BATTERY_STATS";
+ field public static final java.lang.String BIND_ACCESSIBILITY_SERVICE = "android.permission.BIND_ACCESSIBILITY_SERVICE";
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";
@@ -97,6 +98,7 @@ package android {
field public static final java.lang.String RECORD_AUDIO = "android.permission.RECORD_AUDIO";
field public static final java.lang.String REORDER_TASKS = "android.permission.REORDER_TASKS";
field public static final deprecated java.lang.String RESTART_PACKAGES = "android.permission.RESTART_PACKAGES";
+ field public static final java.lang.String ROUTE_MEDIA_OUTPUT = "android.permission.ROUTE_MEDIA_OUTPUT";
field public static final java.lang.String SEND_SMS = "android.permission.SEND_SMS";
field public static final java.lang.String SET_ACTIVITY_WATCHER = "android.permission.SET_ACTIVITY_WATCHER";
field public static final java.lang.String SET_ALARM = "com.android.alarm.permission.SET_ALARM";
@@ -11485,6 +11487,71 @@ package android.media {
field public static final int DEFAULT = 0; // 0x0
}
+ public class MediaRouter {
+ method public void addCallback(int, android.media.MediaRouter.Callback);
+ method public void addUserRoute(android.media.MediaRouter.UserRouteInfo);
+ method public android.media.MediaRouter.RouteCategory createRouteCategory(java.lang.CharSequence, boolean);
+ method public android.media.MediaRouter.UserRouteInfo createUserRoute(android.media.MediaRouter.RouteCategory);
+ method public static android.media.MediaRouter forApplication(android.content.Context);
+ method public android.media.MediaRouter.RouteCategory getCategoryAt(int);
+ method public int getCategoryCount();
+ method public android.media.MediaRouter.RouteInfo getRouteAt(int);
+ method public int getRouteCount();
+ method public void removeCallback(android.media.MediaRouter.Callback);
+ method public void removeUserRoute(android.media.MediaRouter.UserRouteInfo);
+ method public void selectRoute(int, android.media.MediaRouter.RouteInfo);
+ method public void setRouteVolume(int, float);
+ field public static final int ROUTE_TYPE_LIVE_AUDIO = 1; // 0x1
+ field public static final int ROUTE_TYPE_USER = 8388608; // 0x800000
+ }
+
+ public static abstract interface MediaRouter.Callback {
+ method public abstract void onRouteAdded(int, android.media.MediaRouter.RouteInfo);
+ method public abstract void onRouteChanged(android.media.MediaRouter.RouteInfo);
+ method public abstract void onRouteRemoved(int, android.media.MediaRouter.RouteInfo);
+ method public abstract void onRouteSelected(int, android.media.MediaRouter.RouteInfo);
+ method public abstract void onRouteUnselected(int, android.media.MediaRouter.RouteInfo);
+ method public abstract void onVolumeChanged(int, float);
+ }
+
+ public class MediaRouter.RouteCategory {
+ method public java.lang.CharSequence getName();
+ method public android.media.MediaRouter.RouteInfo getRouteAt(int);
+ method public int getRouteCount();
+ method public int getSupportedTypes();
+ method public boolean isGroupable();
+ }
+
+ public class MediaRouter.RouteGroup extends android.media.MediaRouter.RouteInfo {
+ method public void addRoute(android.media.MediaRouter.RouteInfo);
+ method public void addRoute(android.media.MediaRouter.RouteInfo, int);
+ method public void removeRoute(android.media.MediaRouter.RouteInfo);
+ method public void removeRoute(int);
+ }
+
+ public class MediaRouter.RouteInfo {
+ method public android.media.MediaRouter.RouteCategory getCategory();
+ method public android.media.MediaRouter.RouteGroup getGroup();
+ method public java.lang.CharSequence getName();
+ method public java.lang.CharSequence getStatus();
+ method public int getSupportedTypes();
+ }
+
+ public static class MediaRouter.SimpleCallback implements android.media.MediaRouter.Callback {
+ ctor public MediaRouter.SimpleCallback();
+ method public void onRouteAdded(int, android.media.MediaRouter.RouteInfo);
+ method public void onRouteChanged(android.media.MediaRouter.RouteInfo);
+ method public void onRouteRemoved(int, android.media.MediaRouter.RouteInfo);
+ method public void onRouteSelected(int, android.media.MediaRouter.RouteInfo);
+ method public void onRouteUnselected(int, android.media.MediaRouter.RouteInfo);
+ method public void onVolumeChanged(int, float);
+ }
+
+ public class MediaRouter.UserRouteInfo extends android.media.MediaRouter.RouteInfo {
+ method public void setName(java.lang.CharSequence);
+ method public void setStatus(java.lang.CharSequence);
+ }
+
public class MediaScannerConnection implements android.content.ServiceConnection {
ctor public MediaScannerConnection(android.content.Context, android.media.MediaScannerConnection.MediaScannerConnectionClient);
method public void connect();
diff --git a/api/current.txt b/api/current.txt
index 9540eab..828d5bb 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -18,6 +18,7 @@ package android {
field public static final java.lang.String ADD_VOICEMAIL = "com.android.voicemail.permission.ADD_VOICEMAIL";
field public static final java.lang.String AUTHENTICATE_ACCOUNTS = "android.permission.AUTHENTICATE_ACCOUNTS";
field public static final java.lang.String BATTERY_STATS = "android.permission.BATTERY_STATS";
+ field public static final java.lang.String BIND_ACCESSIBILITY_SERVICE = "android.permission.BIND_ACCESSIBILITY_SERVICE";
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";
diff --git a/core/java/android/accessibilityservice/AccessibilityService.java b/core/java/android/accessibilityservice/AccessibilityService.java
index ebe2b98..b6001eb 100644
--- a/core/java/android/accessibilityservice/AccessibilityService.java
+++ b/core/java/android/accessibilityservice/AccessibilityService.java
@@ -59,8 +59,9 @@ import com.android.internal.os.HandlerCaller;
* An accessibility is declared as any other service in an AndroidManifest.xml but it
* must also specify that it handles the "android.accessibilityservice.AccessibilityService"
* {@link android.content.Intent}. Failure to declare this intent will cause the system to
- * ignore the accessibility service. Additionally an accessibility service must request
- * "android.permission.BIND_ACCESSIBILITY_SERVICE" permission to ensure that only the system
+ * ignore the accessibility service. Additionally an accessibility service must request the
+ * {@link android.Manifest.permission#BIND_ACCESSIBILITY_SERVICE} permission to ensure
+ * that only the system
* can bind to it. Failure to declare this intent will cause the system to ignore the
* accessibility service. Following is an example declaration:
* </p>
diff --git a/core/java/android/os/Build.java b/core/java/android/os/Build.java
index 2d5b625..8ec0c69 100644
--- a/core/java/android/os/Build.java
+++ b/core/java/android/os/Build.java
@@ -375,10 +375,39 @@ public class Build {
* <p>Applications targeting this or a later release will get these
* new changes in behavior:</p>
* <ul>
+ * <li> You must explicitly request the {@link android.Manifest.permission#READ_CALL_LOG}
+ * and/or {@link android.Manifest.permission#WRITE_CALL_LOG} permissions;
+ * access to the call log is no longer implicitly provided through
+ * {@link android.Manifest.permission#READ_CONTACTS} and
+ * {@link android.Manifest.permission#WRITE_CONTACTS}.
+ * <li> {@link android.widget.RemoteViews} will throw an exception if
+ * setting an onClick handler for views being generated by a
+ * {@link android.widget.RemoteViewsService} for a collection container;
+ * previously this just resulted in a warning log message.
+ * <li> New {@link android.app.ActionBar} policy for embedded tabs:
+ * embedded tabs are now always stacked in the action bar when in portrait
+ * mode, regardless of the size of the screen.
+ * <li> {@link android.webkit.WebSettings#setAllowFileAccessFromFileURLs(boolean)
+ * WebSettings.setAllowFileAccessFromFileURLs} and
+ * {@link android.webkit.WebSettings#setAllowUniversalAccessFromFileURLs(boolean)
+ * WebSettings.setAllowUniversalAccessFromFileURLs} default to false.
* <li> Calls to {@link android.content.pm.PackageManager#setComponentEnabledSetting
* PackageManager.setComponentEnabledSetting} will now throw an
* IllegalArgumentException if the given component class name does not
* exist in the application's manifest.
+ * <li> {@link android.nfc.NfcAdapter#setNdefPushMessage
+ * NfcAdapter.setNdefPushMessage},
+ * {@link android.nfc.NfcAdapter#setNdefPushMessageCallback
+ * NfcAdapter.setNdefPushMessageCallback} and
+ * {@link android.nfc.NfcAdapter#setOnNdefPushCompleteCallback
+ * NfcAdapter.setOnNdefPushCompleteCallback} will throw
+ * IllegalStateException if called after the Activity has been destroyed.
+ * <li> Accessibility services must require the new
+ * {@link android.Manifest.permission#BIND_ACCESSIBILITY_SERVICE} permission or
+ * they will not be available for use.
+ * <li> {@link android.accessibilityservice.AccessibilityServiceInfo#FLAG_INCLUDE_NOT_IMPORTANT_VIEWS
+ * AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS} must be set
+ * for unimportant views to be included in queries.
* </ul>
*/
public static final int JELLY_BEAN = 16;
diff --git a/core/java/android/widget/RemoteViews.java b/core/java/android/widget/RemoteViews.java
index 1985792..ad4d742 100644
--- a/core/java/android/widget/RemoteViews.java
+++ b/core/java/android/widget/RemoteViews.java
@@ -492,7 +492,7 @@ public class RemoteViews implements Parcelable, Filter {
// If the view is an AdapterView, setting a PendingIntent on click doesn't make much
// sense, do they mean to set a PendingIntent template for the AdapterView's children?
if (mIsWidgetCollectionChild) {
- Log.e("RemoteViews", "Cannot setOnClickPendingIntent for collection item " +
+ Log.w("RemoteViews", "Cannot setOnClickPendingIntent for collection item " +
"(id: " + viewId + ")");
ApplicationInfo appInfo = root.getContext().getApplicationInfo();
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index d9d87c1..9698018 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -1271,8 +1271,7 @@
android:protectionLevel="signature" />
<!-- Must be required by an {@link android.accessibilityservice.AccessibilityService},
- to ensure that only the system can bind to it.
- @hide -->
+ to ensure that only the system can bind to it. -->
<permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"
android:label="@string/permlab_bindAccessibilityService"
android:description="@string/permdesc_bindAccessibilityService"