Skip to content

Commit 1799039

Browse files
Dianne HackbornAndroid (Google) Code Review
authored andcommitted
Merge "Fix issue #6717667: expanded notification actions don't work on the lock screen" into jb-dev
2 parents fca66cd + 1927ae8 commit 1799039

File tree

11 files changed

+197
-67
lines changed

11 files changed

+197
-67
lines changed

api/16.txt

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -676,6 +676,7 @@ package android {
676676
field public static final int measureAllChildren = 16843018; // 0x101010a
677677
field public static final int measureWithLargestChild = 16843476; // 0x10102d4
678678
field public static final int mediaRouteButtonStyle = 16843693; // 0x10103ad
679+
field public static final int mediaRouteTypes = 16843694; // 0x10103ae
679680
field public static final int menuCategory = 16843230; // 0x10101de
680681
field public static final int mimeType = 16842790; // 0x1010026
681682
field public static final int minDate = 16843583; // 0x101033f
@@ -3688,6 +3689,8 @@ package android.app {
36883689
ctor public MediaRouteButton(android.content.Context, android.util.AttributeSet);
36893690
ctor public MediaRouteButton(android.content.Context, android.util.AttributeSet, int);
36903691
method public int getRouteTypes();
3692+
method public void onAttachedToWindow();
3693+
method public void onDetachedFromWindow();
36913694
method public void setExtendedSettingsClickListener(android.view.View.OnClickListener);
36923695
method public void setRouteTypes(int);
36933696
method public void showDialog();
@@ -3759,6 +3762,7 @@ package android.app {
37593762
public static class Notification.BigPictureStyle extends android.app.Notification.Style {
37603763
ctor public Notification.BigPictureStyle();
37613764
ctor public Notification.BigPictureStyle(android.app.Notification.Builder);
3765+
method public android.app.Notification.BigPictureStyle bigLargeIcon(android.graphics.Bitmap);
37623766
method public android.app.Notification.BigPictureStyle bigPicture(android.graphics.Bitmap);
37633767
method public android.app.Notification build();
37643768
method public android.app.Notification.BigPictureStyle setBigContentTitle(java.lang.CharSequence);
@@ -5827,7 +5831,6 @@ package android.content {
58275831
field public static final int FLAG_ACTIVITY_CLEAR_TASK = 32768; // 0x8000
58285832
field public static final int FLAG_ACTIVITY_CLEAR_TOP = 67108864; // 0x4000000
58295833
field public static final int FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET = 524288; // 0x80000
5830-
field public static final int FLAG_ACTIVITY_CLOSE_SYSTEM_DIALOGS = 8192; // 0x2000
58315834
field public static final int FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS = 8388608; // 0x800000
58325835
field public static final int FLAG_ACTIVITY_FORWARD_RESULT = 33554432; // 0x2000000
58335836
field public static final int FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY = 1048576; // 0x100000
@@ -11537,6 +11540,7 @@ package android.media {
1153711540
method public abstract void onRouteSelected(android.media.MediaRouter, int, android.media.MediaRouter.RouteInfo);
1153811541
method public abstract void onRouteUngrouped(android.media.MediaRouter, android.media.MediaRouter.RouteInfo, android.media.MediaRouter.RouteGroup);
1153911542
method public abstract void onRouteUnselected(android.media.MediaRouter, int, android.media.MediaRouter.RouteInfo);
11543+
method public abstract void onRouteVolumeChanged(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
1154011544
}
1154111545

1154211546
public static class MediaRouter.RouteCategory {
@@ -11564,10 +11568,21 @@ package android.media {
1156411568
method public android.graphics.drawable.Drawable getIconDrawable();
1156511569
method public java.lang.CharSequence getName();
1156611570
method public java.lang.CharSequence getName(android.content.Context);
11571+
method public int getPlaybackStream();
11572+
method public int getPlaybackType();
1156711573
method public java.lang.CharSequence getStatus();
1156811574
method public int getSupportedTypes();
1156911575
method public java.lang.Object getTag();
11576+
method public int getVolume();
11577+
method public int getVolumeHandling();
11578+
method public int getVolumeMax();
11579+
method public void requestSetVolume(int);
11580+
method public void requestUpdateVolume(int);
1157011581
method public void setTag(java.lang.Object);
11582+
field public static final int PLAYBACK_TYPE_LOCAL = 0; // 0x0
11583+
field public static final int PLAYBACK_TYPE_REMOTE = 1; // 0x1
11584+
field public static final int PLAYBACK_VOLUME_FIXED = 0; // 0x0
11585+
field public static final int PLAYBACK_VOLUME_VARIABLE = 1; // 0x1
1157111586
}
1157211587

1157311588
public static class MediaRouter.SimpleCallback extends android.media.MediaRouter.Callback {
@@ -11579,15 +11594,29 @@ package android.media {
1157911594
method public void onRouteSelected(android.media.MediaRouter, int, android.media.MediaRouter.RouteInfo);
1158011595
method public void onRouteUngrouped(android.media.MediaRouter, android.media.MediaRouter.RouteInfo, android.media.MediaRouter.RouteGroup);
1158111596
method public void onRouteUnselected(android.media.MediaRouter, int, android.media.MediaRouter.RouteInfo);
11597+
method public void onRouteVolumeChanged(android.media.MediaRouter, android.media.MediaRouter.RouteInfo);
1158211598
}
1158311599

1158411600
public static class MediaRouter.UserRouteInfo extends android.media.MediaRouter.RouteInfo {
11601+
method public android.media.RemoteControlClient getRemoteControlClient();
1158511602
method public void setIconDrawable(android.graphics.drawable.Drawable);
1158611603
method public void setIconResource(int);
1158711604
method public void setName(java.lang.CharSequence);
1158811605
method public void setName(int);
11606+
method public void setPlaybackStream(int);
11607+
method public void setPlaybackType(int);
1158911608
method public void setRemoteControlClient(android.media.RemoteControlClient);
1159011609
method public void setStatus(java.lang.CharSequence);
11610+
method public void setVolume(int);
11611+
method public void setVolumeCallback(android.media.MediaRouter.VolumeCallback);
11612+
method public void setVolumeHandling(int);
11613+
method public void setVolumeMax(int);
11614+
}
11615+
11616+
public static abstract class MediaRouter.VolumeCallback {
11617+
ctor public MediaRouter.VolumeCallback();
11618+
method public abstract void onVolumeSetRequest(android.media.MediaRouter.RouteInfo, int);
11619+
method public abstract void onVolumeUpdateRequest(android.media.MediaRouter.RouteInfo, int);
1159111620
}
1159211621

1159311622
public class MediaScannerConnection implements android.content.ServiceConnection {
@@ -22816,10 +22845,18 @@ package android.view {
2281622845
public abstract class ActionProvider {
2281722846
ctor public ActionProvider(android.content.Context);
2281822847
method public boolean hasSubMenu();
22848+
method public boolean isVisible();
2281922849
method public abstract deprecated android.view.View onCreateActionView();
2282022850
method public android.view.View onCreateActionView(android.view.MenuItem);
2282122851
method public boolean onPerformDefaultAction();
2282222852
method public void onPrepareSubMenu(android.view.SubMenu);
22853+
method public boolean overridesItemVisibility();
22854+
method public void refreshVisibility();
22855+
method public void setVisibilityListener(android.view.ActionProvider.VisibilityListener);
22856+
}
22857+
22858+
public static abstract interface ActionProvider.VisibilityListener {
22859+
method public abstract void onActionProviderVisibilityChanged(boolean);
2282322860
}
2282422861

2282522862
public final class Choreographer {
@@ -28146,8 +28183,11 @@ package android.widget {
2814628183
method public void setString(int, java.lang.String, java.lang.String);
2814728184
method public void setTextColor(int, int);
2814828185
method public void setTextViewCompoundDrawables(int, int, int, int, int);
28186+
method public void setTextViewCompoundDrawablesRelative(int, int, int, int, int);
2814928187
method public void setTextViewText(int, java.lang.CharSequence);
28188+
method public void setTextViewTextSize(int, int, float);
2815028189
method public void setUri(int, java.lang.String, android.net.Uri);
28190+
method public void setViewPadding(int, int, int, int, int);
2815128191
method public void setViewVisibility(int, int);
2815228192
method public void showNext(int);
2815328193
method public void showPrevious(int);

api/current.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3689,6 +3689,8 @@ package android.app {
36893689
ctor public MediaRouteButton(android.content.Context, android.util.AttributeSet);
36903690
ctor public MediaRouteButton(android.content.Context, android.util.AttributeSet, int);
36913691
method public int getRouteTypes();
3692+
method public void onAttachedToWindow();
3693+
method public void onDetachedFromWindow();
36923694
method public void setExtendedSettingsClickListener(android.view.View.OnClickListener);
36933695
method public void setRouteTypes(int);
36943696
method public void showDialog();
@@ -5829,7 +5831,6 @@ package android.content {
58295831
field public static final int FLAG_ACTIVITY_CLEAR_TASK = 32768; // 0x8000
58305832
field public static final int FLAG_ACTIVITY_CLEAR_TOP = 67108864; // 0x4000000
58315833
field public static final int FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET = 524288; // 0x80000
5832-
field public static final int FLAG_ACTIVITY_CLOSE_SYSTEM_DIALOGS = 8192; // 0x2000
58335834
field public static final int FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS = 8388608; // 0x800000
58345835
field public static final int FLAG_ACTIVITY_FORWARD_RESULT = 33554432; // 0x2000000
58355836
field public static final int FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY = 1048576; // 0x100000

core/java/android/app/ActivityManagerNative.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1617,6 +1617,16 @@ public boolean onTransact(int code, Parcel data, Parcel reply, int flags)
16171617
return true;
16181618
}
16191619

1620+
case IS_INTENT_SENDER_AN_ACTIVITY_TRANSACTION: {
1621+
data.enforceInterface(IActivityManager.descriptor);
1622+
IIntentSender r = IIntentSender.Stub.asInterface(
1623+
data.readStrongBinder());
1624+
boolean res = isIntentSenderAnActivity(r);
1625+
reply.writeNoException();
1626+
reply.writeInt(res ? 1 : 0);
1627+
return true;
1628+
}
1629+
16201630
case UPDATE_PERSISTENT_CONFIGURATION_TRANSACTION: {
16211631
data.enforceInterface(IActivityManager.descriptor);
16221632
Configuration config = Configuration.CREATOR.createFromParcel(data);
@@ -3753,6 +3763,19 @@ public boolean isIntentSenderTargetedToPackage(IIntentSender sender) throws Remo
37533763
return res;
37543764
}
37553765

3766+
public boolean isIntentSenderAnActivity(IIntentSender sender) throws RemoteException {
3767+
Parcel data = Parcel.obtain();
3768+
Parcel reply = Parcel.obtain();
3769+
data.writeInterfaceToken(IActivityManager.descriptor);
3770+
data.writeStrongBinder(sender.asBinder());
3771+
mRemote.transact(IS_INTENT_SENDER_AN_ACTIVITY_TRANSACTION, data, reply, 0);
3772+
reply.readException();
3773+
boolean res = reply.readInt() != 0;
3774+
data.recycle();
3775+
reply.recycle();
3776+
return res;
3777+
}
3778+
37563779
public void updatePersistentConfiguration(Configuration values) throws RemoteException
37573780
{
37583781
Parcel data = Parcel.obtain();

core/java/android/app/IActivityManager.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,8 @@ public void setPackageAskScreenCompat(String packageName, boolean ask)
338338

339339
public boolean isIntentSenderTargetedToPackage(IIntentSender sender) throws RemoteException;
340340

341+
public boolean isIntentSenderAnActivity(IIntentSender sender) throws RemoteException;
342+
341343
public void updatePersistentConfiguration(Configuration values) throws RemoteException;
342344

343345
public long[] getProcessPss(int[] pids) throws RemoteException;
@@ -603,4 +605,5 @@ private WaitResult(Parcel source) {
603605
int FINISH_ACTIVITY_AFFINITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+148;
604606
int GET_LAUNCHED_FROM_UID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+149;
605607
int UNSTABLE_PROVIDER_DIED_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+150;
608+
int IS_INTENT_SENDER_AN_ACTIVITY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+151;
606609
}

core/java/android/app/PendingIntent.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -630,6 +630,20 @@ public boolean isTargetedToPackage() {
630630
}
631631
}
632632

633+
/**
634+
* @hide
635+
* Check whether this PendingIntent will launch an Activity.
636+
*/
637+
public boolean isActivity() {
638+
try {
639+
return ActivityManagerNative.getDefault()
640+
.isIntentSenderAnActivity(mTarget);
641+
} catch (RemoteException e) {
642+
// Should never happen.
643+
return false;
644+
}
645+
}
646+
633647
/**
634648
* Comparison operator on two PendingIntent objects, such that true
635649
* is returned then they both represent the same operation from the

core/java/android/content/Intent.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3104,17 +3104,6 @@ public static Intent createChooser(Intent target, CharSequence title) {
31043104
* saw. This can only be used in conjunction with {@link #FLAG_ACTIVITY_NEW_TASK}.
31053105
*/
31063106
public static final int FLAG_ACTIVITY_TASK_ON_HOME = 0X00004000;
3107-
/**
3108-
* If set in an Intent passed to {@link Context#startActivity Context.startActivity()},
3109-
* upon starting the activity the system will also clear any system dialogs that
3110-
* are currently shown. This is intended primarily for any actions that are
3111-
* associated with buttons in a notification: tapping on the button to launch
3112-
* the activity needs to also dismiss the notification window (which is one
3113-
* of the system dialogs); setting this flag on the Intent associated with that
3114-
* action will ensure that and other system dialogs are dismissed so that the
3115-
* user arrives in the new activity.
3116-
*/
3117-
public static final int FLAG_ACTIVITY_CLOSE_SYSTEM_DIALOGS = 0X00002000;
31183107
/**
31193108
* If set, when sending a broadcast only registered receivers will be
31203109
* called -- no BroadcastReceiver components will be launched.

0 commit comments

Comments
 (0)