Loading api/current.txt +4 −1 Original line number Diff line number Diff line Loading @@ -40994,8 +40994,11 @@ package android.view { field public static final android.os.Parcelable.Creator<android.view.Display.Mode> CREATOR; } public final class DragAndDropPermissions { public final class DragAndDropPermissions implements android.os.Parcelable { method public int describeContents(); method public void release(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.view.DragAndDropPermissions> CREATOR; } public class DragEvent implements android.os.Parcelable { api/system-current.txt +4 −1 Original line number Diff line number Diff line Loading @@ -44098,8 +44098,11 @@ package android.view { field public static final android.os.Parcelable.Creator<android.view.Display.Mode> CREATOR; } public final class DragAndDropPermissions { public final class DragAndDropPermissions implements android.os.Parcelable { method public int describeContents(); method public void release(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.view.DragAndDropPermissions> CREATOR; } public class DragEvent implements android.os.Parcelable { api/test-current.txt +4 −1 Original line number Diff line number Diff line Loading @@ -41074,8 +41074,11 @@ package android.view { field public static final android.os.Parcelable.Creator<android.view.Display.Mode> CREATOR; } public final class DragAndDropPermissions { public final class DragAndDropPermissions implements android.os.Parcelable { method public int describeContents(); method public void release(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.view.DragAndDropPermissions> CREATOR; } public class DragEvent implements android.os.Parcelable { core/java/android/view/DragAndDropPermissions.java +40 −17 Original line number Diff line number Diff line Loading @@ -16,12 +16,14 @@ package android.view; import android.app.Activity; import android.app.ActivityManagerNative; import android.os.IBinder; import android.os.Parcel; import android.os.Parcelable; import android.os.RemoteException; import com.android.internal.view.IDragAndDropPermissions; import dalvik.system.CloseGuard; import com.android.internal.view.IDragAndDropPermissions; /** * {@link DragAndDropPermissions} controls the access permissions for the content URIs associated Loading @@ -33,20 +35,27 @@ import dalvik.system.CloseGuard; * Which permissions are granted is defined by the set of flags passed to {@link * View#startDragAndDrop(android.content.ClipData, View.DragShadowBuilder, Object, int) * View.startDragAndDrop} by the app that started the drag operation. * </p> * <p> * The life cycle of the permissions is bound to the activity used to call {@link * android.app.Activity#requestDragAndDropPermissions(DragEvent) requestDragAndDropPermissions}. The * permissions are revoked when this activity is destroyed, or when {@link #release()} is called, * whichever occurs first. * </p> * <p> * If you anticipate that your application will receive a large number of drops (e.g. document * editor), you should try to call {@link #release()} on the obtained permissions as soon as they * are no longer required. Permissions can be added to your activity's * {@link Activity#onSaveInstanceState} bundle and later retrieved in order to manually release * the permissions once they are no longer needed. * </p> */ public final class DragAndDropPermissions { public final class DragAndDropPermissions implements Parcelable { private final IDragAndDropPermissions mDragAndDropPermissions; private IBinder mPermissionOwnerToken; private final CloseGuard mCloseGuard = CloseGuard.get(); /** * Create a new {@link DragAndDropPermissions} object to control the access permissions for * content URIs associated with {@link DragEvent}. Loading Loading @@ -79,7 +88,6 @@ public final class DragAndDropPermissions { } catch (RemoteException e) { return false; } mCloseGuard.open("release"); return true; } Loading @@ -96,7 +104,6 @@ public final class DragAndDropPermissions { } catch (RemoteException e) { return false; } mCloseGuard.open("release"); return true; } Loading @@ -109,18 +116,34 @@ public final class DragAndDropPermissions { mPermissionOwnerToken = null; } catch (RemoteException e) { } mCloseGuard.close(); } public static final Parcelable.Creator<DragAndDropPermissions> CREATOR = new Parcelable.Creator<DragAndDropPermissions> () { @Override protected void finalize() throws Throwable { try { if (mCloseGuard != null) { mCloseGuard.warnIfOpen(); public DragAndDropPermissions createFromParcel(Parcel source) { return new DragAndDropPermissions(source); } @Override public DragAndDropPermissions[] newArray(int size) { return new DragAndDropPermissions[size]; } release(); } finally { super.finalize(); }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel destination, int flags) { destination.writeStrongInterface(mDragAndDropPermissions); destination.writeStrongBinder(mPermissionOwnerToken); } private DragAndDropPermissions(Parcel in) { mDragAndDropPermissions = IDragAndDropPermissions.Stub.asInterface(in.readStrongBinder()); mPermissionOwnerToken = in.readStrongBinder(); } } Loading
api/current.txt +4 −1 Original line number Diff line number Diff line Loading @@ -40994,8 +40994,11 @@ package android.view { field public static final android.os.Parcelable.Creator<android.view.Display.Mode> CREATOR; } public final class DragAndDropPermissions { public final class DragAndDropPermissions implements android.os.Parcelable { method public int describeContents(); method public void release(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.view.DragAndDropPermissions> CREATOR; } public class DragEvent implements android.os.Parcelable {
api/system-current.txt +4 −1 Original line number Diff line number Diff line Loading @@ -44098,8 +44098,11 @@ package android.view { field public static final android.os.Parcelable.Creator<android.view.Display.Mode> CREATOR; } public final class DragAndDropPermissions { public final class DragAndDropPermissions implements android.os.Parcelable { method public int describeContents(); method public void release(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.view.DragAndDropPermissions> CREATOR; } public class DragEvent implements android.os.Parcelable {
api/test-current.txt +4 −1 Original line number Diff line number Diff line Loading @@ -41074,8 +41074,11 @@ package android.view { field public static final android.os.Parcelable.Creator<android.view.Display.Mode> CREATOR; } public final class DragAndDropPermissions { public final class DragAndDropPermissions implements android.os.Parcelable { method public int describeContents(); method public void release(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.view.DragAndDropPermissions> CREATOR; } public class DragEvent implements android.os.Parcelable {
core/java/android/view/DragAndDropPermissions.java +40 −17 Original line number Diff line number Diff line Loading @@ -16,12 +16,14 @@ package android.view; import android.app.Activity; import android.app.ActivityManagerNative; import android.os.IBinder; import android.os.Parcel; import android.os.Parcelable; import android.os.RemoteException; import com.android.internal.view.IDragAndDropPermissions; import dalvik.system.CloseGuard; import com.android.internal.view.IDragAndDropPermissions; /** * {@link DragAndDropPermissions} controls the access permissions for the content URIs associated Loading @@ -33,20 +35,27 @@ import dalvik.system.CloseGuard; * Which permissions are granted is defined by the set of flags passed to {@link * View#startDragAndDrop(android.content.ClipData, View.DragShadowBuilder, Object, int) * View.startDragAndDrop} by the app that started the drag operation. * </p> * <p> * The life cycle of the permissions is bound to the activity used to call {@link * android.app.Activity#requestDragAndDropPermissions(DragEvent) requestDragAndDropPermissions}. The * permissions are revoked when this activity is destroyed, or when {@link #release()} is called, * whichever occurs first. * </p> * <p> * If you anticipate that your application will receive a large number of drops (e.g. document * editor), you should try to call {@link #release()} on the obtained permissions as soon as they * are no longer required. Permissions can be added to your activity's * {@link Activity#onSaveInstanceState} bundle and later retrieved in order to manually release * the permissions once they are no longer needed. * </p> */ public final class DragAndDropPermissions { public final class DragAndDropPermissions implements Parcelable { private final IDragAndDropPermissions mDragAndDropPermissions; private IBinder mPermissionOwnerToken; private final CloseGuard mCloseGuard = CloseGuard.get(); /** * Create a new {@link DragAndDropPermissions} object to control the access permissions for * content URIs associated with {@link DragEvent}. Loading Loading @@ -79,7 +88,6 @@ public final class DragAndDropPermissions { } catch (RemoteException e) { return false; } mCloseGuard.open("release"); return true; } Loading @@ -96,7 +104,6 @@ public final class DragAndDropPermissions { } catch (RemoteException e) { return false; } mCloseGuard.open("release"); return true; } Loading @@ -109,18 +116,34 @@ public final class DragAndDropPermissions { mPermissionOwnerToken = null; } catch (RemoteException e) { } mCloseGuard.close(); } public static final Parcelable.Creator<DragAndDropPermissions> CREATOR = new Parcelable.Creator<DragAndDropPermissions> () { @Override protected void finalize() throws Throwable { try { if (mCloseGuard != null) { mCloseGuard.warnIfOpen(); public DragAndDropPermissions createFromParcel(Parcel source) { return new DragAndDropPermissions(source); } @Override public DragAndDropPermissions[] newArray(int size) { return new DragAndDropPermissions[size]; } release(); } finally { super.finalize(); }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel destination, int flags) { destination.writeStrongInterface(mDragAndDropPermissions); destination.writeStrongBinder(mPermissionOwnerToken); } private DragAndDropPermissions(Parcel in) { mDragAndDropPermissions = IDragAndDropPermissions.Stub.asInterface(in.readStrongBinder()); mPermissionOwnerToken = in.readStrongBinder(); } }