diff options
author | Eric Arseneau <earseneau@google.com> | 2022-01-06 13:35:03 -0800 |
---|---|---|
committer | Eric Arseneau <earseneau@google.com> | 2022-01-06 13:35:03 -0800 |
commit | 0b22ee9a8c10b7b01221d8c1f2543c13ca813bc9 (patch) | |
tree | 5ad0aa88fde2b2c1611233d07685d5a0a93dc813 /core | |
parent | f389baa556a1db5e0015eeb74be3281d3af0f50b (diff) | |
parent | acc288377442012fe94d8003bec0bb99912f920a (diff) |
Merge s-mpr-2022-01-05
Change-Id: Ie250e3592a53519f58f691675a61adf7fddc335c
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/app/Activity.java | 5 | ||||
-rw-r--r-- | core/java/android/app/admin/DevicePolicyManagerInternal.java | 8 | ||||
-rw-r--r-- | core/java/android/view/ViewRootImpl.java | 36 | ||||
-rw-r--r-- | core/res/res/values/config.xml | 5 | ||||
-rw-r--r-- | core/res/res/values/symbols.xml | 2 |
5 files changed, 37 insertions, 19 deletions
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java index db5dcc5c264b..af59ea1d22ff 100644 --- a/core/java/android/app/Activity.java +++ b/core/java/android/app/Activity.java @@ -77,7 +77,6 @@ import android.os.IBinder; import android.os.Looper; import android.os.Parcelable; import android.os.PersistableBundle; -import android.os.PowerManager; import android.os.Process; import android.os.RemoteException; import android.os.ServiceManager.ServiceNotFoundException; @@ -8788,9 +8787,7 @@ public class Activity extends ContextThemeWrapper * the activity is visible after the screen is turned on when the lockscreen is up. In addition, * if this flag is set and the activity calls {@link * KeyguardManager#requestDismissKeyguard(Activity, KeyguardManager.KeyguardDismissCallback)} - * the screen will turn on. If the screen is off and device is not secured, this flag can turn - * screen on and dismiss keyguard to make this activity visible and resume, which can be used to - * replace {@link PowerManager#ACQUIRE_CAUSES_WAKEUP} + * the screen will turn on. * * @param turnScreenOn {@code true} to turn on the screen; {@code false} otherwise. * diff --git a/core/java/android/app/admin/DevicePolicyManagerInternal.java b/core/java/android/app/admin/DevicePolicyManagerInternal.java index a0d2977cf09a..01875eda2eca 100644 --- a/core/java/android/app/admin/DevicePolicyManagerInternal.java +++ b/core/java/android/app/admin/DevicePolicyManagerInternal.java @@ -16,6 +16,7 @@ package android.app.admin; +import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.UserIdInt; import android.content.ComponentName; @@ -77,6 +78,13 @@ public abstract class DevicePolicyManagerInternal { OnCrossProfileWidgetProvidersChangeListener listener); /** + * @param userHandle the handle of the user whose profile owner is being fetched. + * @return the configured supervision app if it exists and is the device owner or policy owner. + */ + public abstract @Nullable ComponentName getProfileOwnerOrDeviceOwnerSupervisionComponent( + @NonNull UserHandle userHandle); + + /** * Checks if an app with given uid is an active device owner of its user. * * <p>This takes the DPMS lock. DO NOT call from PM/UM/AM with their lock held. diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index e08420b75329..6152f5dd939b 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -802,11 +802,7 @@ public final class ViewRootImpl implements ViewParent, context); mCompatibleVisibilityInfo = new SystemUiVisibilityInfo(); mAccessibilityManager = AccessibilityManager.getInstance(context); - mAccessibilityManager.addAccessibilityStateChangeListener( - mAccessibilityInteractionConnectionManager, mHandler); mHighContrastTextManager = new HighContrastTextManager(); - mAccessibilityManager.addHighTextContrastStateChangeListener( - mHighContrastTextManager, mHandler); mViewConfiguration = ViewConfiguration.get(context); mDensity = context.getResources().getDisplayMetrics().densityDpi; mNoncompatDensity = context.getResources().getDisplayMetrics().noncompatDensityDpi; @@ -1006,8 +1002,6 @@ public final class ViewRootImpl implements ViewParent, mView = view; mAttachInfo.mDisplayState = mDisplay.getState(); - mDisplayManager.registerDisplayListener(mDisplayListener, mHandler); - mViewLayoutDirectionInitial = mView.getRawLayoutDirection(); mFallbackEventHandler.setView(view); mWindowAttributes.copyFrom(attrs); @@ -1200,6 +1194,7 @@ public final class ViewRootImpl implements ViewParent, "Unable to add window -- unknown error code " + res); } + registerListeners(); if ((res & WindowManagerGlobal.ADD_FLAG_USE_BLAST) != 0) { mUseBLASTAdapter = true; } @@ -1256,6 +1251,28 @@ public final class ViewRootImpl implements ViewParent, } } + /** + * Register any kind of listeners if setView was success. + */ + private void registerListeners() { + mAccessibilityManager.addAccessibilityStateChangeListener( + mAccessibilityInteractionConnectionManager, mHandler); + mAccessibilityManager.addHighTextContrastStateChangeListener( + mHighContrastTextManager, mHandler); + mDisplayManager.registerDisplayListener(mDisplayListener, mHandler); + } + + /** + * Unregister all listeners while detachedFromWindow. + */ + private void unregisterListeners() { + mAccessibilityManager.removeAccessibilityStateChangeListener( + mAccessibilityInteractionConnectionManager); + mAccessibilityManager.removeHighTextContrastStateChangeListener( + mHighContrastTextManager); + mDisplayManager.unregisterDisplayListener(mDisplayListener); + } + private void setTag() { final String[] split = mWindowAttributes.getTitle().toString().split("\\."); if (split.length > 0) { @@ -4982,10 +4999,6 @@ public final class ViewRootImpl implements ViewParent, } mAccessibilityInteractionConnectionManager.ensureNoConnection(); - mAccessibilityManager.removeAccessibilityStateChangeListener( - mAccessibilityInteractionConnectionManager); - mAccessibilityManager.removeHighTextContrastStateChangeListener( - mHighContrastTextManager); removeSendWindowContentChangedCallback(); destroyHardwareRenderer(); @@ -5018,8 +5031,7 @@ public final class ViewRootImpl implements ViewParent, mInputEventReceiver = null; } - mDisplayManager.unregisterDisplayListener(mDisplayListener); - + unregisterListeners(); unscheduleTraversals(); } diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 33e38e066f21..8fd96c39b4e9 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -1911,8 +1911,9 @@ STREAM_MUSIC as if it's on TV platform. --> <bool name="config_single_volume">false</bool> - <!-- Flag indicating whether the volume panel should show remote sessions. --> - <bool name="config_volumeShowRemoteSessions">true</bool> + <!-- Flag indicating whether platform level volume adjustments are enabled for remote sessions + on grouped devices. --> + <bool name="config_volumeAdjustmentForRemoteGroupSessions">true</bool> <!-- Flag indicating that an outbound call must have a call capable phone account that has declared it can process the call's handle. --> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index bcd80ac1989e..eda5e0209ea1 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -4458,7 +4458,7 @@ <java-symbol type="dimen" name="config_wallpaperDimAmount" /> - <java-symbol type="bool" name="config_volumeShowRemoteSessions" /> + <java-symbol type="bool" name="config_volumeAdjustmentForRemoteGroupSessions" /> <java-symbol type="integer" name="config_customizedMaxCachedProcesses" /> |