Show back button when launcher is disconnected from proxy service

Whenever service is disconnected, the back button will be shown. Once
the service is connected, launcher will decide whether or not to hide
the back button.

Test: adb shell am force-stop com.google.android.apps.nexuslauncher
Change-Id: Ic947e51c00abd9591c800aa1023b8d9684dc5d93
Fixes: 80098608
This commit is contained in:
Matthew Ng
2018-05-30 11:27:39 -07:00
parent d8f3889b28
commit 53896454ef

View File

@@ -166,9 +166,7 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
long token = Binder.clearCallingIdentity();
try {
mHandler.post(() -> {
for (int i = mConnectionCallbacks.size() - 1; i >= 0; --i) {
mConnectionCallbacks.get(i).onBackButtonAlphaChanged(alpha, animate);
}
notifyBackButtonAlphaChanged(alpha, animate);
});
} finally {
Binder.restoreCallingIdentity(token);
@@ -355,10 +353,17 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
mOverviewProxy.asBinder().unlinkToDeath(mOverviewServiceDeathRcpt, 0);
mContext.unbindService(mOverviewServiceConnection);
mOverviewProxy = null;
notifyBackButtonAlphaChanged(1f, false /* animate */);
notifyConnectionChanged();
}
}
private void notifyBackButtonAlphaChanged(float alpha, boolean animate) {
for (int i = mConnectionCallbacks.size() - 1; i >= 0; --i) {
mConnectionCallbacks.get(i).onBackButtonAlphaChanged(alpha, animate);
}
}
private void notifyConnectionChanged() {
for (int i = mConnectionCallbacks.size() - 1; i >= 0; --i) {
mConnectionCallbacks.get(i).onConnectionChanged(mOverviewProxy != null);