diff options
author | Matthew Ng <ngmatthew@google.com> | 2018-03-02 11:43:38 -0800 |
---|---|---|
committer | Matthew Ng <ngmatthew@google.com> | 2018-03-02 11:43:38 -0800 |
commit | 1b1d346b3547809f410a62ec2cdbd3a6ff21127a (patch) | |
tree | 8cb27b164ca30616a01a355f94d87372d59179c7 /packages/SystemUI/src/com/android/systemui/OverviewProxyService.java | |
parent | 341c2366cce599da1b4fb9db502bdfbe4dbfd84b (diff) |
Creating new user correctly connects to the system OverviewProxy
When creating a new user, it creates a new OverviewServiceProxy which
connects to launcher instead of the system user version. Since the new
proxy does not have any callbacks connected to it, launcher cannot send
any data to change systemui. Preventing the new proxy from connecting
allows the original to connect.
Test: manual, create new user, wait for connection, play with quick step
Change-Id: I0838fe8294c7a3ee89062c0c9855caf5ab52482b
Fixes: 74001992
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/OverviewProxyService.java')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/OverviewProxyService.java | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/OverviewProxyService.java b/packages/SystemUI/src/com/android/systemui/OverviewProxyService.java index 3c666e4b11cc..041af0e47119 100644 --- a/packages/SystemUI/src/com/android/systemui/OverviewProxyService.java +++ b/packages/SystemUI/src/com/android/systemui/OverviewProxyService.java @@ -36,6 +36,7 @@ import android.view.SurfaceControl; import com.android.systemui.OverviewProxyService.OverviewProxyListener; import com.android.systemui.recents.events.EventBus; import com.android.systemui.recents.events.activity.DockedFirstAnimationFrameEvent; +import com.android.systemui.recents.misc.SystemServicesProxy; import com.android.systemui.shared.recents.IOverviewProxy; import com.android.systemui.shared.recents.ISystemUiProxy; import com.android.systemui.shared.system.GraphicBufferCompat; @@ -201,15 +202,18 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis mConnectionBackoffAttempts = 0; mLauncherComponentName = ComponentName .unflattenFromString(context.getString(R.string.config_overviewServiceComponent)); - mDeviceProvisionedController.addCallback(mDeviceProvisionedCallback); // Listen for the package update changes. - IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED); - filter.addDataScheme("package"); - filter.addDataSchemeSpecificPart(mLauncherComponentName.getPackageName(), - PatternMatcher.PATTERN_LITERAL); - filter.addAction(Intent.ACTION_PACKAGE_CHANGED); - mContext.registerReceiver(mLauncherAddedReceiver, filter); + if (SystemServicesProxy.getInstance(context) + .isSystemUser(mDeviceProvisionedController.getCurrentUser())) { + mDeviceProvisionedController.addCallback(mDeviceProvisionedCallback); + IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED); + filter.addDataScheme("package"); + filter.addDataSchemeSpecificPart(mLauncherComponentName.getPackageName(), + PatternMatcher.PATTERN_LITERAL); + filter.addAction(Intent.ACTION_PACKAGE_CHANGED); + mContext.registerReceiver(mLauncherAddedReceiver, filter); + } } public void startConnectionToCurrentUser() { |