Partial fix for blank widget page
The code really shouldn't select the page until after the view has been
removed and had a chance to measure itself. The fix is to post a message
to select the correct widget page.
Bug 7334209
Change-Id: I5c2d59b00b3c502893da6000154ce6cdc79ecc1c
diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java
index 460f3c6..ef9b834 100644
--- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java
+++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java
@@ -740,17 +740,12 @@
public void onListenerDetached() {
int page = getWidgetPosition(R.id.keyguard_transport_control);
if (page != -1) {
- if (page == mAppWidgetContainer.getCurrentPage()) {
- // Switch back to clock view if music was showing.
- mAppWidgetContainer
- .setCurrentPage(getWidgetPosition(R.id.keyguard_status_view));
- }
mAppWidgetContainer.removeView(mTransportControl);
- // XXX keep view attached to hierarchy so we still get show/hide events
- // from AudioManager
+ // XXX keep view attached so we still get show/hide events from AudioManager
KeyguardHostView.this.addView(mTransportControl);
mTransportControl.setVisibility(View.GONE);
mTransportState = TRANSPORT_GONE;
+ mTransportControl.post(mSwitchPageRunnable);
}
}