mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-19 18:58:19 +00:00
Fixing widgets get deteled because of double bind
If the AppWidgetHost starts listening in the middle of bind, it rebinds the old widgets before a new widget is bound, leading to double bind. We should clear all pending binds, before starting a rebind. As an extra check only rebind a view which is attached to the screen. Bug: 73814840 Change-Id: Ie3af683dc4095b158547e700d11e4faf7999466f
This commit is contained in:
@@ -488,13 +488,14 @@ public class LauncherAppWidgetHostView extends AppWidgetHostView
|
||||
// Only reinflate when the final configuration is same as the required configuration
|
||||
if (mReinflateOnConfigChange && isSameOrientation()) {
|
||||
mReinflateOnConfigChange = false;
|
||||
if (isAttachedToWindow()) {
|
||||
reInflate();
|
||||
}
|
||||
reInflate();
|
||||
}
|
||||
}
|
||||
|
||||
public void reInflate() {
|
||||
if (!isAttachedToWindow()) {
|
||||
return;
|
||||
}
|
||||
LauncherAppWidgetInfo info = (LauncherAppWidgetInfo) getTag();
|
||||
// Remove and rebind the current widget (which was inflated in the wrong
|
||||
// orientation), but don't delete it from the database
|
||||
|
||||
Reference in New Issue
Block a user