Loading core/api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -9801,6 +9801,7 @@ package android.companion { method @NonNull public java.util.List<android.companion.AssociationInfo> getMyAssociations(); method @Deprecated public boolean hasNotificationAccess(android.content.ComponentName); method @FlaggedApi("android.companion.perm_sync_user_consent") public boolean isPermissionTransferUserConsented(int); method @FlaggedApi("android.companion.unpair_associated_device") @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeBond(int); method public void requestNotificationAccess(android.content.ComponentName); method @FlaggedApi("android.companion.association_tag") public void setAssociationTag(int, @NonNull String); method @RequiresPermission(android.Manifest.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE) public void startObservingDevicePresence(@NonNull String) throws android.companion.DeviceNotAssociatedException; core/java/android/app/ActivityThread.java +1 −1 Original line number Diff line number Diff line Loading @@ -7500,7 +7500,7 @@ public final class ActivityThread extends ClientTransactionHandler + data.instrumentationName + ": " + e.toString(), e); } try { timestampApplicationOnCreateNs = SystemClock.elapsedRealtimeNanos(); timestampApplicationOnCreateNs = SystemClock.uptimeNanos(); mInstrumentation.callApplicationOnCreate(app); } catch (Exception e) { timestampApplicationOnCreateNs = 0; Loading core/java/android/app/ApplicationStartInfo.java +24 −1 Original line number Diff line number Diff line Loading @@ -416,11 +416,34 @@ public final class ApplicationStartInfo implements Parcelable { /** * @see #getStartIntent * * <p class="note"> Note: This method will clone the provided intent and ensure that the cloned * intent doesn't contain any large objects like bitmaps in its extras by stripping it in the * least aggressive acceptable way for the individual intent.</p> * * @hide */ public void setIntent(Intent startIntent) { if (startIntent != null) { if (startIntent.canStripForHistory()) { // If maybeStripForHistory will return a lightened version, do that. mStartIntent = startIntent.maybeStripForHistory(); } else if (startIntent.getExtras() != null) { // If maybeStripForHistory would not return a lightened version and extras is // non-null then extras contains un-parcelled data. Use cloneFilter to strip data // more aggressively. mStartIntent = startIntent.cloneFilter(); } else { // Finally, if maybeStripForHistory would not return a lightened version and extras // is null then do a regular clone so we don't leak the intent. mStartIntent = new Intent(startIntent); } // If the newly cloned intent has an original intent, clear that as we don't need it and // can't guarantee it doesn't need to be stripped as well. if (mStartIntent.getOriginalIntent() != null) { mStartIntent.setOriginalIntent(null); } } } Loading core/java/android/app/IActivityManager.aidl +9 −0 Original line number Diff line number Diff line Loading @@ -756,6 +756,15 @@ interface IActivityManager { */ void addStartInfoTimestamp(int key, long timestampNs, int userId); /** * Reports view related timestamps to be added to the calling apps most * recent {@link ApplicationStartInfo}. * * @param renderThreadDrawStartTimeNs Clock monotonic time in nanoseconds of RenderThread draw start * @param framePresentedTimeNs Clock monotonic time in nanoseconds of frame presented */ oneway void reportStartInfoViewTimestamps(long renderThreadDrawStartTimeNs, long framePresentedTimeNs); /** * Return a list of {@link ApplicationExitInfo} records. * Loading core/java/android/companion/CompanionDeviceManager.java +26 −0 Original line number Diff line number Diff line Loading @@ -1149,6 +1149,32 @@ public final class CompanionDeviceManager { } } /** * Remove bonding between this device and an associated companion device. * * <p>This is an asynchronous call, it will return immediately. Register for {@link * BluetoothDevice#ACTION_BOND_STATE_CHANGED} intents to be notified when the bond removal * process completes, and its result. * * @param associationId an already-associated companion device to remove bond from * @return false on immediate error, true if bond removal process will begin */ @FlaggedApi(Flags.FLAG_UNPAIR_ASSOCIATED_DEVICE) @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeBond(int associationId) { if (mService == null) { Log.w(TAG, "CompanionDeviceManager service is not available."); return false; } try { return mService.removeBond(associationId, mContext.getOpPackageName(), mContext.getUserId()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } // TODO(b/315163162) Add @Deprecated keyword after 24Q2 cut. /** * Register to receive callbacks whenever the associated device comes in and out of range. Loading Loading
core/api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -9801,6 +9801,7 @@ package android.companion { method @NonNull public java.util.List<android.companion.AssociationInfo> getMyAssociations(); method @Deprecated public boolean hasNotificationAccess(android.content.ComponentName); method @FlaggedApi("android.companion.perm_sync_user_consent") public boolean isPermissionTransferUserConsented(int); method @FlaggedApi("android.companion.unpair_associated_device") @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeBond(int); method public void requestNotificationAccess(android.content.ComponentName); method @FlaggedApi("android.companion.association_tag") public void setAssociationTag(int, @NonNull String); method @RequiresPermission(android.Manifest.permission.REQUEST_OBSERVE_COMPANION_DEVICE_PRESENCE) public void startObservingDevicePresence(@NonNull String) throws android.companion.DeviceNotAssociatedException;
core/java/android/app/ActivityThread.java +1 −1 Original line number Diff line number Diff line Loading @@ -7500,7 +7500,7 @@ public final class ActivityThread extends ClientTransactionHandler + data.instrumentationName + ": " + e.toString(), e); } try { timestampApplicationOnCreateNs = SystemClock.elapsedRealtimeNanos(); timestampApplicationOnCreateNs = SystemClock.uptimeNanos(); mInstrumentation.callApplicationOnCreate(app); } catch (Exception e) { timestampApplicationOnCreateNs = 0; Loading
core/java/android/app/ApplicationStartInfo.java +24 −1 Original line number Diff line number Diff line Loading @@ -416,11 +416,34 @@ public final class ApplicationStartInfo implements Parcelable { /** * @see #getStartIntent * * <p class="note"> Note: This method will clone the provided intent and ensure that the cloned * intent doesn't contain any large objects like bitmaps in its extras by stripping it in the * least aggressive acceptable way for the individual intent.</p> * * @hide */ public void setIntent(Intent startIntent) { if (startIntent != null) { if (startIntent.canStripForHistory()) { // If maybeStripForHistory will return a lightened version, do that. mStartIntent = startIntent.maybeStripForHistory(); } else if (startIntent.getExtras() != null) { // If maybeStripForHistory would not return a lightened version and extras is // non-null then extras contains un-parcelled data. Use cloneFilter to strip data // more aggressively. mStartIntent = startIntent.cloneFilter(); } else { // Finally, if maybeStripForHistory would not return a lightened version and extras // is null then do a regular clone so we don't leak the intent. mStartIntent = new Intent(startIntent); } // If the newly cloned intent has an original intent, clear that as we don't need it and // can't guarantee it doesn't need to be stripped as well. if (mStartIntent.getOriginalIntent() != null) { mStartIntent.setOriginalIntent(null); } } } Loading
core/java/android/app/IActivityManager.aidl +9 −0 Original line number Diff line number Diff line Loading @@ -756,6 +756,15 @@ interface IActivityManager { */ void addStartInfoTimestamp(int key, long timestampNs, int userId); /** * Reports view related timestamps to be added to the calling apps most * recent {@link ApplicationStartInfo}. * * @param renderThreadDrawStartTimeNs Clock monotonic time in nanoseconds of RenderThread draw start * @param framePresentedTimeNs Clock monotonic time in nanoseconds of frame presented */ oneway void reportStartInfoViewTimestamps(long renderThreadDrawStartTimeNs, long framePresentedTimeNs); /** * Return a list of {@link ApplicationExitInfo} records. * Loading
core/java/android/companion/CompanionDeviceManager.java +26 −0 Original line number Diff line number Diff line Loading @@ -1149,6 +1149,32 @@ public final class CompanionDeviceManager { } } /** * Remove bonding between this device and an associated companion device. * * <p>This is an asynchronous call, it will return immediately. Register for {@link * BluetoothDevice#ACTION_BOND_STATE_CHANGED} intents to be notified when the bond removal * process completes, and its result. * * @param associationId an already-associated companion device to remove bond from * @return false on immediate error, true if bond removal process will begin */ @FlaggedApi(Flags.FLAG_UNPAIR_ASSOCIATED_DEVICE) @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeBond(int associationId) { if (mService == null) { Log.w(TAG, "CompanionDeviceManager service is not available."); return false; } try { return mService.removeBond(associationId, mContext.getOpPackageName(), mContext.getUserId()); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } // TODO(b/315163162) Add @Deprecated keyword after 24Q2 cut. /** * Register to receive callbacks whenever the associated device comes in and out of range. Loading