summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/systemui/OverviewProxyService.java
diff options
context:
space:
mode:
authorMatthew Ng <ngmatthew@google.com>2018-03-02 11:43:38 -0800
committerMatthew Ng <ngmatthew@google.com>2018-03-02 11:43:38 -0800
commit1b1d346b3547809f410a62ec2cdbd3a6ff21127a (patch)
tree8cb27b164ca30616a01a355f94d87372d59179c7 /packages/SystemUI/src/com/android/systemui/OverviewProxyService.java
parent341c2366cce599da1b4fb9db502bdfbe4dbfd84b (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.java18
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() {