Skip to content

Commit 533fce2

Browse files
Dianne HackbornAndroid (Google) Code Review
authored andcommitted
Merge "Docs (mostly): enumerate JELLY_BEAN target SDK changes." into jb-dev
2 parents 88a89b2 + 636fd52 commit 533fce2

File tree

6 files changed

+102
-5
lines changed

6 files changed

+102
-5
lines changed

api/16.txt

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package android {
1818
field public static final java.lang.String ADD_VOICEMAIL = "com.android.voicemail.permission.ADD_VOICEMAIL";
1919
field public static final java.lang.String AUTHENTICATE_ACCOUNTS = "android.permission.AUTHENTICATE_ACCOUNTS";
2020
field public static final java.lang.String BATTERY_STATS = "android.permission.BATTERY_STATS";
21+
field public static final java.lang.String BIND_ACCESSIBILITY_SERVICE = "android.permission.BIND_ACCESSIBILITY_SERVICE";
2122
field public static final java.lang.String BIND_APPWIDGET = "android.permission.BIND_APPWIDGET";
2223
field public static final java.lang.String BIND_DEVICE_ADMIN = "android.permission.BIND_DEVICE_ADMIN";
2324
field public static final java.lang.String BIND_INPUT_METHOD = "android.permission.BIND_INPUT_METHOD";
@@ -97,6 +98,7 @@ package android {
9798
field public static final java.lang.String RECORD_AUDIO = "android.permission.RECORD_AUDIO";
9899
field public static final java.lang.String REORDER_TASKS = "android.permission.REORDER_TASKS";
99100
field public static final deprecated java.lang.String RESTART_PACKAGES = "android.permission.RESTART_PACKAGES";
101+
field public static final java.lang.String ROUTE_MEDIA_OUTPUT = "android.permission.ROUTE_MEDIA_OUTPUT";
100102
field public static final java.lang.String SEND_SMS = "android.permission.SEND_SMS";
101103
field public static final java.lang.String SET_ACTIVITY_WATCHER = "android.permission.SET_ACTIVITY_WATCHER";
102104
field public static final java.lang.String SET_ALARM = "com.android.alarm.permission.SET_ALARM";
@@ -11485,6 +11487,71 @@ package android.media {
1148511487
field public static final int DEFAULT = 0; // 0x0
1148611488
}
1148711489

11490+
public class MediaRouter {
11491+
method public void addCallback(int, android.media.MediaRouter.Callback);
11492+
method public void addUserRoute(android.media.MediaRouter.UserRouteInfo);
11493+
method public android.media.MediaRouter.RouteCategory createRouteCategory(java.lang.CharSequence, boolean);
11494+
method public android.media.MediaRouter.UserRouteInfo createUserRoute(android.media.MediaRouter.RouteCategory);
11495+
method public static android.media.MediaRouter forApplication(android.content.Context);
11496+
method public android.media.MediaRouter.RouteCategory getCategoryAt(int);
11497+
method public int getCategoryCount();
11498+
method public android.media.MediaRouter.RouteInfo getRouteAt(int);
11499+
method public int getRouteCount();
11500+
method public void removeCallback(android.media.MediaRouter.Callback);
11501+
method public void removeUserRoute(android.media.MediaRouter.UserRouteInfo);
11502+
method public void selectRoute(int, android.media.MediaRouter.RouteInfo);
11503+
method public void setRouteVolume(int, float);
11504+
field public static final int ROUTE_TYPE_LIVE_AUDIO = 1; // 0x1
11505+
field public static final int ROUTE_TYPE_USER = 8388608; // 0x800000
11506+
}
11507+
11508+
public static abstract interface MediaRouter.Callback {
11509+
method public abstract void onRouteAdded(int, android.media.MediaRouter.RouteInfo);
11510+
method public abstract void onRouteChanged(android.media.MediaRouter.RouteInfo);
11511+
method public abstract void onRouteRemoved(int, android.media.MediaRouter.RouteInfo);
11512+
method public abstract void onRouteSelected(int, android.media.MediaRouter.RouteInfo);
11513+
method public abstract void onRouteUnselected(int, android.media.MediaRouter.RouteInfo);
11514+
method public abstract void onVolumeChanged(int, float);
11515+
}
11516+
11517+
public class MediaRouter.RouteCategory {
11518+
method public java.lang.CharSequence getName();
11519+
method public android.media.MediaRouter.RouteInfo getRouteAt(int);
11520+
method public int getRouteCount();
11521+
method public int getSupportedTypes();
11522+
method public boolean isGroupable();
11523+
}
11524+
11525+
public class MediaRouter.RouteGroup extends android.media.MediaRouter.RouteInfo {
11526+
method public void addRoute(android.media.MediaRouter.RouteInfo);
11527+
method public void addRoute(android.media.MediaRouter.RouteInfo, int);
11528+
method public void removeRoute(android.media.MediaRouter.RouteInfo);
11529+
method public void removeRoute(int);
11530+
}
11531+
11532+
public class MediaRouter.RouteInfo {
11533+
method public android.media.MediaRouter.RouteCategory getCategory();
11534+
method public android.media.MediaRouter.RouteGroup getGroup();
11535+
method public java.lang.CharSequence getName();
11536+
method public java.lang.CharSequence getStatus();
11537+
method public int getSupportedTypes();
11538+
}
11539+
11540+
public static class MediaRouter.SimpleCallback implements android.media.MediaRouter.Callback {
11541+
ctor public MediaRouter.SimpleCallback();
11542+
method public void onRouteAdded(int, android.media.MediaRouter.RouteInfo);
11543+
method public void onRouteChanged(android.media.MediaRouter.RouteInfo);
11544+
method public void onRouteRemoved(int, android.media.MediaRouter.RouteInfo);
11545+
method public void onRouteSelected(int, android.media.MediaRouter.RouteInfo);
11546+
method public void onRouteUnselected(int, android.media.MediaRouter.RouteInfo);
11547+
method public void onVolumeChanged(int, float);
11548+
}
11549+
11550+
public class MediaRouter.UserRouteInfo extends android.media.MediaRouter.RouteInfo {
11551+
method public void setName(java.lang.CharSequence);
11552+
method public void setStatus(java.lang.CharSequence);
11553+
}
11554+
1148811555
public class MediaScannerConnection implements android.content.ServiceConnection {
1148911556
ctor public MediaScannerConnection(android.content.Context, android.media.MediaScannerConnection.MediaScannerConnectionClient);
1149011557
method public void connect();

api/current.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package android {
1818
field public static final java.lang.String ADD_VOICEMAIL = "com.android.voicemail.permission.ADD_VOICEMAIL";
1919
field public static final java.lang.String AUTHENTICATE_ACCOUNTS = "android.permission.AUTHENTICATE_ACCOUNTS";
2020
field public static final java.lang.String BATTERY_STATS = "android.permission.BATTERY_STATS";
21+
field public static final java.lang.String BIND_ACCESSIBILITY_SERVICE = "android.permission.BIND_ACCESSIBILITY_SERVICE";
2122
field public static final java.lang.String BIND_APPWIDGET = "android.permission.BIND_APPWIDGET";
2223
field public static final java.lang.String BIND_DEVICE_ADMIN = "android.permission.BIND_DEVICE_ADMIN";
2324
field public static final java.lang.String BIND_INPUT_METHOD = "android.permission.BIND_INPUT_METHOD";

core/java/android/accessibilityservice/AccessibilityService.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,9 @@
5959
* An accessibility is declared as any other service in an AndroidManifest.xml but it
6060
* must also specify that it handles the "android.accessibilityservice.AccessibilityService"
6161
* {@link android.content.Intent}. Failure to declare this intent will cause the system to
62-
* ignore the accessibility service. Additionally an accessibility service must request
63-
* "android.permission.BIND_ACCESSIBILITY_SERVICE" permission to ensure that only the system
62+
* ignore the accessibility service. Additionally an accessibility service must request the
63+
* {@link android.Manifest.permission#BIND_ACCESSIBILITY_SERVICE} permission to ensure
64+
* that only the system
6465
* can bind to it. Failure to declare this intent will cause the system to ignore the
6566
* accessibility service. Following is an example declaration:
6667
* </p>

core/java/android/os/Build.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -375,10 +375,39 @@ public static class VERSION_CODES {
375375
* <p>Applications targeting this or a later release will get these
376376
* new changes in behavior:</p>
377377
* <ul>
378+
* <li> You must explicitly request the {@link android.Manifest.permission#READ_CALL_LOG}
379+
* and/or {@link android.Manifest.permission#WRITE_CALL_LOG} permissions;
380+
* access to the call log is no longer implicitly provided through
381+
* {@link android.Manifest.permission#READ_CONTACTS} and
382+
* {@link android.Manifest.permission#WRITE_CONTACTS}.
383+
* <li> {@link android.widget.RemoteViews} will throw an exception if
384+
* setting an onClick handler for views being generated by a
385+
* {@link android.widget.RemoteViewsService} for a collection container;
386+
* previously this just resulted in a warning log message.
387+
* <li> New {@link android.app.ActionBar} policy for embedded tabs:
388+
* embedded tabs are now always stacked in the action bar when in portrait
389+
* mode, regardless of the size of the screen.
390+
* <li> {@link android.webkit.WebSettings#setAllowFileAccessFromFileURLs(boolean)
391+
* WebSettings.setAllowFileAccessFromFileURLs} and
392+
* {@link android.webkit.WebSettings#setAllowUniversalAccessFromFileURLs(boolean)
393+
* WebSettings.setAllowUniversalAccessFromFileURLs} default to false.
378394
* <li> Calls to {@link android.content.pm.PackageManager#setComponentEnabledSetting
379395
* PackageManager.setComponentEnabledSetting} will now throw an
380396
* IllegalArgumentException if the given component class name does not
381397
* exist in the application's manifest.
398+
* <li> {@link android.nfc.NfcAdapter#setNdefPushMessage
399+
* NfcAdapter.setNdefPushMessage},
400+
* {@link android.nfc.NfcAdapter#setNdefPushMessageCallback
401+
* NfcAdapter.setNdefPushMessageCallback} and
402+
* {@link android.nfc.NfcAdapter#setOnNdefPushCompleteCallback
403+
* NfcAdapter.setOnNdefPushCompleteCallback} will throw
404+
* IllegalStateException if called after the Activity has been destroyed.
405+
* <li> Accessibility services must require the new
406+
* {@link android.Manifest.permission#BIND_ACCESSIBILITY_SERVICE} permission or
407+
* they will not be available for use.
408+
* <li> {@link android.accessibilityservice.AccessibilityServiceInfo#FLAG_INCLUDE_NOT_IMPORTANT_VIEWS
409+
* AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS} must be set
410+
* for unimportant views to be included in queries.
382411
* </ul>
383412
*/
384413
public static final int JELLY_BEAN = 16;

core/java/android/widget/RemoteViews.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,7 @@ public void apply(View root, ViewGroup rootParent) {
492492
// If the view is an AdapterView, setting a PendingIntent on click doesn't make much
493493
// sense, do they mean to set a PendingIntent template for the AdapterView's children?
494494
if (mIsWidgetCollectionChild) {
495-
Log.e("RemoteViews", "Cannot setOnClickPendingIntent for collection item " +
495+
Log.w("RemoteViews", "Cannot setOnClickPendingIntent for collection item " +
496496
"(id: " + viewId + ")");
497497
ApplicationInfo appInfo = root.getContext().getApplicationInfo();
498498

core/res/AndroidManifest.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1271,8 +1271,7 @@
12711271
android:protectionLevel="signature" />
12721272

12731273
<!-- Must be required by an {@link android.accessibilityservice.AccessibilityService},
1274-
to ensure that only the system can bind to it.
1275-
@hide -->
1274+
to ensure that only the system can bind to it. -->
12761275
<permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE"
12771276
android:label="@string/permlab_bindAccessibilityService"
12781277
android:description="@string/permdesc_bindAccessibilityService"

0 commit comments

Comments
 (0)