Loading apex/Android.bp +1 −3 Original line number Diff line number Diff line Loading @@ -94,10 +94,8 @@ java_defaults { annotations_enabled: true, // The stub libraries must be visible to frameworks/base so they can be combined // into API specific libraries. stubs_library_visibility: [ "//frameworks/base", // Framework "//visibility:public", ], // Set the visibility of the modules creating the stubs source. Loading apex/media/framework/java/android/media/MediaSession2.java +1 −1 Original line number Diff line number Diff line Loading @@ -404,7 +404,7 @@ public class MediaSession2 implements AutoCloseable { mCallback.onPostConnect(MediaSession2.this, controllerInfo); connected = true; } finally { if (!connected) { if (!connected || isClosed()) { if (DEBUG) { Log.d(TAG, "Rejecting connection or notifying that session is closed" + ", controllerInfo=" + controllerInfo); Loading core/java/android/view/WindowManager.java +19 −9 Original line number Diff line number Diff line Loading @@ -1454,11 +1454,22 @@ public interface WindowManager extends ViewManager { @Deprecated public static final int FLAG_LAYOUT_INSET_DECOR = 0x00010000; /** Window flag: When set, input method can't interact with the focusable window * and can be placed to use more space and cover the input method. * Note: When combined with {@link #FLAG_NOT_FOCUSABLE}, this flag has no * effect since input method cannot interact with windows having {@link #FLAG_NOT_FOCUSABLE} * flag set. /** Window flag: when set, inverts the input method focusability of the window. * * The effect of setting this flag depends on whether {@link #FLAG_NOT_FOCUSABLE} is set: * <p> * If {@link #FLAG_NOT_FOCUSABLE} is <em>not</em> set, i.e. when the window is focusable, * setting this flag prevents this window from becoming the target of the input method. * Consequently, it will <em>not</em> be able to interact with the input method, * and will be layered above the input method (unless there is another input method * target above it). * * <p> * If {@link #FLAG_NOT_FOCUSABLE} <em>is</em> set, setting this flag requests for the window * to be the input method target even though the window is <em>not</em> focusable. * Consequently, it will be layered below the input method. * Note: Windows that set {@link #FLAG_NOT_FOCUSABLE} cannot interact with the input method, * regardless of this flag. */ public static final int FLAG_ALT_FOCUSABLE_IM = 0x00020000; Loading Loading @@ -2142,13 +2153,12 @@ public interface WindowManager extends ViewManager { * focus. In particular, this checks the * {@link #FLAG_NOT_FOCUSABLE} and {@link #FLAG_ALT_FOCUSABLE_IM} * flags and returns true if the combination of the two corresponds * to a window that needs to be behind the input method so that the * user can type into it. * to a window that can use the input method. * * @param flags The current window manager flags. * * @return Returns {@code true} if such a window should be behind/interact * with an input method, {@code false} if not. * @return Returns {@code true} if a window with the given flags would be able to * use the input method, {@code false} if not. */ public static boolean mayUseInputMethod(int flags) { return (flags & FLAG_NOT_FOCUSABLE) != FLAG_NOT_FOCUSABLE Loading media/java/android/media/MediaRoute2Info.java +8 −0 Original line number Diff line number Diff line Loading @@ -313,6 +313,14 @@ public final class MediaRoute2Info implements Parcelable { public static final String FEATURE_REMOTE_VIDEO_PLAYBACK = "android.media.route.feature.REMOTE_VIDEO_PLAYBACK"; /** * Route feature: Remote group playback. * <p> * @hide */ public static final String FEATURE_REMOTE_GROUP_PLAYBACK = "android.media.route.feature.REMOTE_GROUP_PLAYBACK"; final String mId; final CharSequence mName; final List<String> mFeatures; Loading services/core/java/com/android/server/StorageManagerService.java +3 −8 Original line number Diff line number Diff line Loading @@ -4736,7 +4736,7 @@ class StorageManagerService extends IStorageManager.Stub return true; } private void killAppForOpChange(int code, int uid, String packageName) { private void killAppForOpChange(int code, int uid) { final IActivityManager am = ActivityManager.getService(); try { am.killUid(UserHandle.getAppId(uid), UserHandle.USER_ALL, Loading @@ -4753,7 +4753,7 @@ class StorageManagerService extends IStorageManager.Stub switch(code) { case OP_REQUEST_INSTALL_PACKAGES: // Always kill regardless of op change, to remount apps /storage killAppForOpChange(code, uid, packageName); killAppForOpChange(code, uid); return; case OP_MANAGE_EXTERNAL_STORAGE: if (mode != MODE_ALLOWED) { Loading @@ -4762,12 +4762,7 @@ class StorageManagerService extends IStorageManager.Stub // results in a bad UX, especially since the gid only gives access // to unreliable volumes, USB OTGs that are rarely mounted. The app // will get the external_storage gid on next organic restart. if (packageName != null) { killAppForOpChange(code, uid, packageName); } else { // TODO(b/158283222) this can happen, figure out if we need // to kill in this case as well. } killAppForOpChange(code, uid); } return; case OP_LEGACY_STORAGE: Loading Loading
apex/Android.bp +1 −3 Original line number Diff line number Diff line Loading @@ -94,10 +94,8 @@ java_defaults { annotations_enabled: true, // The stub libraries must be visible to frameworks/base so they can be combined // into API specific libraries. stubs_library_visibility: [ "//frameworks/base", // Framework "//visibility:public", ], // Set the visibility of the modules creating the stubs source. Loading
apex/media/framework/java/android/media/MediaSession2.java +1 −1 Original line number Diff line number Diff line Loading @@ -404,7 +404,7 @@ public class MediaSession2 implements AutoCloseable { mCallback.onPostConnect(MediaSession2.this, controllerInfo); connected = true; } finally { if (!connected) { if (!connected || isClosed()) { if (DEBUG) { Log.d(TAG, "Rejecting connection or notifying that session is closed" + ", controllerInfo=" + controllerInfo); Loading
core/java/android/view/WindowManager.java +19 −9 Original line number Diff line number Diff line Loading @@ -1454,11 +1454,22 @@ public interface WindowManager extends ViewManager { @Deprecated public static final int FLAG_LAYOUT_INSET_DECOR = 0x00010000; /** Window flag: When set, input method can't interact with the focusable window * and can be placed to use more space and cover the input method. * Note: When combined with {@link #FLAG_NOT_FOCUSABLE}, this flag has no * effect since input method cannot interact with windows having {@link #FLAG_NOT_FOCUSABLE} * flag set. /** Window flag: when set, inverts the input method focusability of the window. * * The effect of setting this flag depends on whether {@link #FLAG_NOT_FOCUSABLE} is set: * <p> * If {@link #FLAG_NOT_FOCUSABLE} is <em>not</em> set, i.e. when the window is focusable, * setting this flag prevents this window from becoming the target of the input method. * Consequently, it will <em>not</em> be able to interact with the input method, * and will be layered above the input method (unless there is another input method * target above it). * * <p> * If {@link #FLAG_NOT_FOCUSABLE} <em>is</em> set, setting this flag requests for the window * to be the input method target even though the window is <em>not</em> focusable. * Consequently, it will be layered below the input method. * Note: Windows that set {@link #FLAG_NOT_FOCUSABLE} cannot interact with the input method, * regardless of this flag. */ public static final int FLAG_ALT_FOCUSABLE_IM = 0x00020000; Loading Loading @@ -2142,13 +2153,12 @@ public interface WindowManager extends ViewManager { * focus. In particular, this checks the * {@link #FLAG_NOT_FOCUSABLE} and {@link #FLAG_ALT_FOCUSABLE_IM} * flags and returns true if the combination of the two corresponds * to a window that needs to be behind the input method so that the * user can type into it. * to a window that can use the input method. * * @param flags The current window manager flags. * * @return Returns {@code true} if such a window should be behind/interact * with an input method, {@code false} if not. * @return Returns {@code true} if a window with the given flags would be able to * use the input method, {@code false} if not. */ public static boolean mayUseInputMethod(int flags) { return (flags & FLAG_NOT_FOCUSABLE) != FLAG_NOT_FOCUSABLE Loading
media/java/android/media/MediaRoute2Info.java +8 −0 Original line number Diff line number Diff line Loading @@ -313,6 +313,14 @@ public final class MediaRoute2Info implements Parcelable { public static final String FEATURE_REMOTE_VIDEO_PLAYBACK = "android.media.route.feature.REMOTE_VIDEO_PLAYBACK"; /** * Route feature: Remote group playback. * <p> * @hide */ public static final String FEATURE_REMOTE_GROUP_PLAYBACK = "android.media.route.feature.REMOTE_GROUP_PLAYBACK"; final String mId; final CharSequence mName; final List<String> mFeatures; Loading
services/core/java/com/android/server/StorageManagerService.java +3 −8 Original line number Diff line number Diff line Loading @@ -4736,7 +4736,7 @@ class StorageManagerService extends IStorageManager.Stub return true; } private void killAppForOpChange(int code, int uid, String packageName) { private void killAppForOpChange(int code, int uid) { final IActivityManager am = ActivityManager.getService(); try { am.killUid(UserHandle.getAppId(uid), UserHandle.USER_ALL, Loading @@ -4753,7 +4753,7 @@ class StorageManagerService extends IStorageManager.Stub switch(code) { case OP_REQUEST_INSTALL_PACKAGES: // Always kill regardless of op change, to remount apps /storage killAppForOpChange(code, uid, packageName); killAppForOpChange(code, uid); return; case OP_MANAGE_EXTERNAL_STORAGE: if (mode != MODE_ALLOWED) { Loading @@ -4762,12 +4762,7 @@ class StorageManagerService extends IStorageManager.Stub // results in a bad UX, especially since the gid only gives access // to unreliable volumes, USB OTGs that are rarely mounted. The app // will get the external_storage gid on next organic restart. if (packageName != null) { killAppForOpChange(code, uid, packageName); } else { // TODO(b/158283222) this can happen, figure out if we need // to kill in this case as well. } killAppForOpChange(code, uid); } return; case OP_LEGACY_STORAGE: Loading