Loading api/current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -39924,8 +39924,8 @@ package android.telephony { field public static final java.lang.String KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT = "duration_blocking_disabled_after_emergency_int"; field public static final java.lang.String KEY_EDITABLE_ENHANCED_4G_LTE_BOOL = "editable_enhanced_4g_lte_bool"; field public static final java.lang.String KEY_EDITABLE_VOICEMAIL_NUMBER_BOOL = "editable_voicemail_number_bool"; field public static final java.lang.String KEY_ENABLE_APPS_STRING_ARRAY = "enable_apps_string_array"; field public static final java.lang.String KEY_EDITABLE_VOICEMAIL_NUMBER_SETTING_BOOL = "editable_voicemail_number_setting_bool"; field public static final java.lang.String KEY_ENABLE_APPS_STRING_ARRAY = "enable_apps_string_array"; field public static final java.lang.String KEY_ENABLE_DIALER_KEY_VIBRATION_BOOL = "enable_dialer_key_vibration_bool"; field public static final java.lang.String KEY_FORCE_HOME_NETWORK_BOOL = "force_home_network_bool"; field public static final java.lang.String KEY_GSM_DTMF_TONE_DELAY_INT = "gsm_dtmf_tone_delay_int"; api/system-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -43440,8 +43440,8 @@ package android.telephony { field public static final java.lang.String KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT = "duration_blocking_disabled_after_emergency_int"; field public static final java.lang.String KEY_EDITABLE_ENHANCED_4G_LTE_BOOL = "editable_enhanced_4g_lte_bool"; field public static final java.lang.String KEY_EDITABLE_VOICEMAIL_NUMBER_BOOL = "editable_voicemail_number_bool"; field public static final java.lang.String KEY_ENABLE_APPS_STRING_ARRAY = "enable_apps_string_array"; field public static final java.lang.String KEY_EDITABLE_VOICEMAIL_NUMBER_SETTING_BOOL = "editable_voicemail_number_setting_bool"; field public static final java.lang.String KEY_ENABLE_APPS_STRING_ARRAY = "enable_apps_string_array"; field public static final java.lang.String KEY_ENABLE_DIALER_KEY_VIBRATION_BOOL = "enable_dialer_key_vibration_bool"; field public static final java.lang.String KEY_FORCE_HOME_NETWORK_BOOL = "force_home_network_bool"; field public static final java.lang.String KEY_GSM_DTMF_TONE_DELAY_INT = "gsm_dtmf_tone_delay_int"; api/test-current.txt +4 −1 Original line number Diff line number Diff line Loading @@ -3873,6 +3873,7 @@ package android.app { method public void resizeStack(int, android.graphics.Rect) throws java.lang.SecurityException; method public deprecated void restartPackage(java.lang.String); method public void setTaskWindowingMode(int, int, boolean) throws java.lang.SecurityException; method public void setTaskWindowingModeSplitScreenPrimary(int, int, boolean, boolean, android.graphics.Rect) throws java.lang.SecurityException; method public static void setVrThread(int); method public void setWatchHeapLimit(long); method public static boolean supportsMultiWindow(android.content.Context); Loading @@ -3886,6 +3887,8 @@ package android.app { field public static final int MOVE_TASK_WITH_HOME = 1; // 0x1 field public static final int RECENT_IGNORE_UNAVAILABLE = 2; // 0x2 field public static final int RECENT_WITH_EXCLUDED = 1; // 0x1 field public static final int SPLIT_SCREEN_CREATE_MODE_BOTTOM_OR_RIGHT = 1; // 0x1 field public static final int SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT = 0; // 0x0 } public static class ActivityManager.AppTask { Loading Loading @@ -40318,8 +40321,8 @@ package android.telephony { field public static final java.lang.String KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT = "duration_blocking_disabled_after_emergency_int"; field public static final java.lang.String KEY_EDITABLE_ENHANCED_4G_LTE_BOOL = "editable_enhanced_4g_lte_bool"; field public static final java.lang.String KEY_EDITABLE_VOICEMAIL_NUMBER_BOOL = "editable_voicemail_number_bool"; field public static final java.lang.String KEY_ENABLE_APPS_STRING_ARRAY = "enable_apps_string_array"; field public static final java.lang.String KEY_EDITABLE_VOICEMAIL_NUMBER_SETTING_BOOL = "editable_voicemail_number_setting_bool"; field public static final java.lang.String KEY_ENABLE_APPS_STRING_ARRAY = "enable_apps_string_array"; field public static final java.lang.String KEY_ENABLE_DIALER_KEY_VIBRATION_BOOL = "enable_dialer_key_vibration_bool"; field public static final java.lang.String KEY_FORCE_HOME_NETWORK_BOOL = "force_home_network_bool"; field public static final java.lang.String KEY_GSM_DTMF_TONE_DELAY_INT = "gsm_dtmf_tone_delay_int"; core/java/android/app/ActivityManager.java +29 −0 Original line number Diff line number Diff line Loading @@ -687,6 +687,7 @@ public class ActivityManager { * in portrait mode or at the left half of the screen if in landscape mode. * @hide */ @TestApi public static final int SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT = 0; /** Loading @@ -696,6 +697,7 @@ public class ActivityManager { * in portrait mode or at the right half of the screen if in landscape mode. * @hide */ @TestApi public static final int SPLIT_SCREEN_CREATE_MODE_BOTTOM_OR_RIGHT = 1; /** Loading Loading @@ -1925,6 +1927,33 @@ public class ActivityManager { } } /** * Moves the input task to the primary-split-screen stack. * @param taskId Id of task to move. * @param createMode The mode the primary split screen stack should be created in if it doesn't * exist already. See * {@link android.app.ActivityManager#SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT} * and * {@link android.app.ActivityManager * #SPLIT_SCREEN_CREATE_MODE_BOTTOM_OR_RIGHT} * @param toTop If the task and stack should be moved to the top. * @param animate Whether we should play an animation for the moving the task * @param initialBounds If the primary stack gets created, it will use these bounds for the * docked stack. Pass {@code null} to use default bounds. * @hide */ @TestApi @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void setTaskWindowingModeSplitScreenPrimary(int taskId, int createMode, boolean toTop, boolean animate, Rect initialBounds) throws SecurityException { try { getService().setTaskWindowingModeSplitScreenPrimary(taskId, createMode, toTop, animate, initialBounds); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } /** * Resizes the input stack id to the given bounds. * @param stackId Id of the stack to resize. Loading core/java/com/android/internal/policy/DividerSnapAlgorithm.java +16 −7 Original line number Diff line number Diff line Loading @@ -16,6 +16,10 @@ package com.android.internal.policy; import static android.view.WindowManager.DOCKED_INVALID; import static android.view.WindowManager.DOCKED_LEFT; import static android.view.WindowManager.DOCKED_RIGHT; import android.content.Context; import android.content.res.Configuration; import android.content.res.Resources; Loading Loading @@ -99,11 +103,12 @@ public class DividerSnapAlgorithm { public DividerSnapAlgorithm(Resources res, int displayWidth, int displayHeight, int dividerSize, boolean isHorizontalDivision, Rect insets) { this(res, displayWidth, displayHeight, dividerSize, isHorizontalDivision, insets, false); this(res, displayWidth, displayHeight, dividerSize, isHorizontalDivision, insets, DOCKED_INVALID, false); } public DividerSnapAlgorithm(Resources res, int displayWidth, int displayHeight, int dividerSize, boolean isHorizontalDivision, Rect insets, boolean isMinimizedMode) { boolean isHorizontalDivision, Rect insets, int dockSide, boolean isMinimizedMode) { mMinFlingVelocityPxPerSecond = MIN_FLING_VELOCITY_DP_PER_SECOND * res.getDisplayMetrics().density; mMinDismissVelocityPxPerSecond = Loading @@ -121,7 +126,7 @@ public class DividerSnapAlgorithm { com.android.internal.R.dimen.default_minimal_size_resizable_task); mTaskHeightInMinimizedMode = res.getDimensionPixelSize( com.android.internal.R.dimen.task_height_of_minimized_mode); calculateTargets(isHorizontalDivision); calculateTargets(isHorizontalDivision, dockSide); mFirstSplitTarget = mTargets.get(1); mLastSplitTarget = mTargets.get(mTargets.size() - 2); mDismissStartTarget = mTargets.get(0); Loading Loading @@ -254,7 +259,7 @@ public class DividerSnapAlgorithm { return mTargets.get(minIndex); } private void calculateTargets(boolean isHorizontalDivision) { private void calculateTargets(boolean isHorizontalDivision, int dockedSide) { mTargets.clear(); int dividerMax = isHorizontalDivision ? mDisplayHeight Loading @@ -273,7 +278,7 @@ public class DividerSnapAlgorithm { addMiddleTarget(isHorizontalDivision); break; case SNAP_MODE_MINIMIZED: addMinimizedTarget(isHorizontalDivision); addMinimizedTarget(isHorizontalDivision, dockedSide); break; } mTargets.add(new SnapTarget(dividerMax - navBarSize, dividerMax, Loading Loading @@ -331,12 +336,16 @@ public class DividerSnapAlgorithm { mTargets.add(new SnapTarget(position, position, SnapTarget.FLAG_NONE)); } private void addMinimizedTarget(boolean isHorizontalDivision) { private void addMinimizedTarget(boolean isHorizontalDivision, int dockedSide) { // In portrait offset the position by the statusbar height, in landscape add the statusbar // height as well to match portrait offset int position = mTaskHeightInMinimizedMode + mInsets.top; if (!isHorizontalDivision) { if (dockedSide == DOCKED_LEFT) { position += mInsets.left; } else if (dockedSide == DOCKED_RIGHT) { position = mDisplayWidth - position - mInsets.right; } } mTargets.add(new SnapTarget(position, position, SnapTarget.FLAG_NONE)); } Loading Loading
api/current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -39924,8 +39924,8 @@ package android.telephony { field public static final java.lang.String KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT = "duration_blocking_disabled_after_emergency_int"; field public static final java.lang.String KEY_EDITABLE_ENHANCED_4G_LTE_BOOL = "editable_enhanced_4g_lte_bool"; field public static final java.lang.String KEY_EDITABLE_VOICEMAIL_NUMBER_BOOL = "editable_voicemail_number_bool"; field public static final java.lang.String KEY_ENABLE_APPS_STRING_ARRAY = "enable_apps_string_array"; field public static final java.lang.String KEY_EDITABLE_VOICEMAIL_NUMBER_SETTING_BOOL = "editable_voicemail_number_setting_bool"; field public static final java.lang.String KEY_ENABLE_APPS_STRING_ARRAY = "enable_apps_string_array"; field public static final java.lang.String KEY_ENABLE_DIALER_KEY_VIBRATION_BOOL = "enable_dialer_key_vibration_bool"; field public static final java.lang.String KEY_FORCE_HOME_NETWORK_BOOL = "force_home_network_bool"; field public static final java.lang.String KEY_GSM_DTMF_TONE_DELAY_INT = "gsm_dtmf_tone_delay_int";
api/system-current.txt +1 −1 Original line number Diff line number Diff line Loading @@ -43440,8 +43440,8 @@ package android.telephony { field public static final java.lang.String KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT = "duration_blocking_disabled_after_emergency_int"; field public static final java.lang.String KEY_EDITABLE_ENHANCED_4G_LTE_BOOL = "editable_enhanced_4g_lte_bool"; field public static final java.lang.String KEY_EDITABLE_VOICEMAIL_NUMBER_BOOL = "editable_voicemail_number_bool"; field public static final java.lang.String KEY_ENABLE_APPS_STRING_ARRAY = "enable_apps_string_array"; field public static final java.lang.String KEY_EDITABLE_VOICEMAIL_NUMBER_SETTING_BOOL = "editable_voicemail_number_setting_bool"; field public static final java.lang.String KEY_ENABLE_APPS_STRING_ARRAY = "enable_apps_string_array"; field public static final java.lang.String KEY_ENABLE_DIALER_KEY_VIBRATION_BOOL = "enable_dialer_key_vibration_bool"; field public static final java.lang.String KEY_FORCE_HOME_NETWORK_BOOL = "force_home_network_bool"; field public static final java.lang.String KEY_GSM_DTMF_TONE_DELAY_INT = "gsm_dtmf_tone_delay_int";
api/test-current.txt +4 −1 Original line number Diff line number Diff line Loading @@ -3873,6 +3873,7 @@ package android.app { method public void resizeStack(int, android.graphics.Rect) throws java.lang.SecurityException; method public deprecated void restartPackage(java.lang.String); method public void setTaskWindowingMode(int, int, boolean) throws java.lang.SecurityException; method public void setTaskWindowingModeSplitScreenPrimary(int, int, boolean, boolean, android.graphics.Rect) throws java.lang.SecurityException; method public static void setVrThread(int); method public void setWatchHeapLimit(long); method public static boolean supportsMultiWindow(android.content.Context); Loading @@ -3886,6 +3887,8 @@ package android.app { field public static final int MOVE_TASK_WITH_HOME = 1; // 0x1 field public static final int RECENT_IGNORE_UNAVAILABLE = 2; // 0x2 field public static final int RECENT_WITH_EXCLUDED = 1; // 0x1 field public static final int SPLIT_SCREEN_CREATE_MODE_BOTTOM_OR_RIGHT = 1; // 0x1 field public static final int SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT = 0; // 0x0 } public static class ActivityManager.AppTask { Loading Loading @@ -40318,8 +40321,8 @@ package android.telephony { field public static final java.lang.String KEY_DURATION_BLOCKING_DISABLED_AFTER_EMERGENCY_INT = "duration_blocking_disabled_after_emergency_int"; field public static final java.lang.String KEY_EDITABLE_ENHANCED_4G_LTE_BOOL = "editable_enhanced_4g_lte_bool"; field public static final java.lang.String KEY_EDITABLE_VOICEMAIL_NUMBER_BOOL = "editable_voicemail_number_bool"; field public static final java.lang.String KEY_ENABLE_APPS_STRING_ARRAY = "enable_apps_string_array"; field public static final java.lang.String KEY_EDITABLE_VOICEMAIL_NUMBER_SETTING_BOOL = "editable_voicemail_number_setting_bool"; field public static final java.lang.String KEY_ENABLE_APPS_STRING_ARRAY = "enable_apps_string_array"; field public static final java.lang.String KEY_ENABLE_DIALER_KEY_VIBRATION_BOOL = "enable_dialer_key_vibration_bool"; field public static final java.lang.String KEY_FORCE_HOME_NETWORK_BOOL = "force_home_network_bool"; field public static final java.lang.String KEY_GSM_DTMF_TONE_DELAY_INT = "gsm_dtmf_tone_delay_int";
core/java/android/app/ActivityManager.java +29 −0 Original line number Diff line number Diff line Loading @@ -687,6 +687,7 @@ public class ActivityManager { * in portrait mode or at the left half of the screen if in landscape mode. * @hide */ @TestApi public static final int SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT = 0; /** Loading @@ -696,6 +697,7 @@ public class ActivityManager { * in portrait mode or at the right half of the screen if in landscape mode. * @hide */ @TestApi public static final int SPLIT_SCREEN_CREATE_MODE_BOTTOM_OR_RIGHT = 1; /** Loading Loading @@ -1925,6 +1927,33 @@ public class ActivityManager { } } /** * Moves the input task to the primary-split-screen stack. * @param taskId Id of task to move. * @param createMode The mode the primary split screen stack should be created in if it doesn't * exist already. See * {@link android.app.ActivityManager#SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT} * and * {@link android.app.ActivityManager * #SPLIT_SCREEN_CREATE_MODE_BOTTOM_OR_RIGHT} * @param toTop If the task and stack should be moved to the top. * @param animate Whether we should play an animation for the moving the task * @param initialBounds If the primary stack gets created, it will use these bounds for the * docked stack. Pass {@code null} to use default bounds. * @hide */ @TestApi @RequiresPermission(android.Manifest.permission.MANAGE_ACTIVITY_STACKS) public void setTaskWindowingModeSplitScreenPrimary(int taskId, int createMode, boolean toTop, boolean animate, Rect initialBounds) throws SecurityException { try { getService().setTaskWindowingModeSplitScreenPrimary(taskId, createMode, toTop, animate, initialBounds); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } /** * Resizes the input stack id to the given bounds. * @param stackId Id of the stack to resize. Loading
core/java/com/android/internal/policy/DividerSnapAlgorithm.java +16 −7 Original line number Diff line number Diff line Loading @@ -16,6 +16,10 @@ package com.android.internal.policy; import static android.view.WindowManager.DOCKED_INVALID; import static android.view.WindowManager.DOCKED_LEFT; import static android.view.WindowManager.DOCKED_RIGHT; import android.content.Context; import android.content.res.Configuration; import android.content.res.Resources; Loading Loading @@ -99,11 +103,12 @@ public class DividerSnapAlgorithm { public DividerSnapAlgorithm(Resources res, int displayWidth, int displayHeight, int dividerSize, boolean isHorizontalDivision, Rect insets) { this(res, displayWidth, displayHeight, dividerSize, isHorizontalDivision, insets, false); this(res, displayWidth, displayHeight, dividerSize, isHorizontalDivision, insets, DOCKED_INVALID, false); } public DividerSnapAlgorithm(Resources res, int displayWidth, int displayHeight, int dividerSize, boolean isHorizontalDivision, Rect insets, boolean isMinimizedMode) { boolean isHorizontalDivision, Rect insets, int dockSide, boolean isMinimizedMode) { mMinFlingVelocityPxPerSecond = MIN_FLING_VELOCITY_DP_PER_SECOND * res.getDisplayMetrics().density; mMinDismissVelocityPxPerSecond = Loading @@ -121,7 +126,7 @@ public class DividerSnapAlgorithm { com.android.internal.R.dimen.default_minimal_size_resizable_task); mTaskHeightInMinimizedMode = res.getDimensionPixelSize( com.android.internal.R.dimen.task_height_of_minimized_mode); calculateTargets(isHorizontalDivision); calculateTargets(isHorizontalDivision, dockSide); mFirstSplitTarget = mTargets.get(1); mLastSplitTarget = mTargets.get(mTargets.size() - 2); mDismissStartTarget = mTargets.get(0); Loading Loading @@ -254,7 +259,7 @@ public class DividerSnapAlgorithm { return mTargets.get(minIndex); } private void calculateTargets(boolean isHorizontalDivision) { private void calculateTargets(boolean isHorizontalDivision, int dockedSide) { mTargets.clear(); int dividerMax = isHorizontalDivision ? mDisplayHeight Loading @@ -273,7 +278,7 @@ public class DividerSnapAlgorithm { addMiddleTarget(isHorizontalDivision); break; case SNAP_MODE_MINIMIZED: addMinimizedTarget(isHorizontalDivision); addMinimizedTarget(isHorizontalDivision, dockedSide); break; } mTargets.add(new SnapTarget(dividerMax - navBarSize, dividerMax, Loading Loading @@ -331,12 +336,16 @@ public class DividerSnapAlgorithm { mTargets.add(new SnapTarget(position, position, SnapTarget.FLAG_NONE)); } private void addMinimizedTarget(boolean isHorizontalDivision) { private void addMinimizedTarget(boolean isHorizontalDivision, int dockedSide) { // In portrait offset the position by the statusbar height, in landscape add the statusbar // height as well to match portrait offset int position = mTaskHeightInMinimizedMode + mInsets.top; if (!isHorizontalDivision) { if (dockedSide == DOCKED_LEFT) { position += mInsets.left; } else if (dockedSide == DOCKED_RIGHT) { position = mDisplayWidth - position - mInsets.right; } } mTargets.add(new SnapTarget(position, position, SnapTarget.FLAG_NONE)); } Loading