Skip to content
This repository has been archived by the owner on Jul 22, 2024. It is now read-only.

Hide tray when Keyboard is visible #1153

Merged
merged 1 commit into from
May 6, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1021,12 +1021,7 @@ public void popWorldBrightness(Object aKey) {

@Override
public void setTrayVisible(boolean visible) {
if (visible) {
mTray.show();

} else {
mTray.hide(UIWidget.KEEP_WIDGET);
}
mTray.setTrayVisible(visible);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
import java.util.Arrays;
import java.util.List;

public class TrayWidget extends UIWidget implements SessionStore.SessionChangeListener, BookmarkListener {
public class TrayWidget extends UIWidget implements SessionStore.SessionChangeListener, BookmarkListener, WidgetManagerDelegate.UpdateListener {

private static final int ICON_ANIMATION_DURATION = 200;

Expand All @@ -38,6 +38,8 @@ public class TrayWidget extends UIWidget implements SessionStore.SessionChangeLi
private List<TrayListener> mTrayListeners;
private int mMinPadding;
private int mMaxPadding;
private boolean mKeyboardVisible;
private boolean mTrayVisible = true;

public TrayWidget(Context aContext) {
super(aContext);
Expand Down Expand Up @@ -116,6 +118,7 @@ private void initialize(Context aContext) {
SessionStore.get().addSessionChangeListener(this);

handleSessionState();
mWidgetManager.addUpdateListener(this);
}

private OnHoverListener mButtonScaleHoverListener = (view, motionEvent) -> {
Expand Down Expand Up @@ -209,6 +212,7 @@ protected void initializeWidgetPlacement(WidgetPlacement aPlacement) {
@Override
public void releaseWidget() {
SessionStore.get().removeSessionChangeListener(this);
mWidgetManager.removeUpdateListener(this);

super.releaseWidget();
}
Expand Down Expand Up @@ -262,6 +266,21 @@ private void toggleSettingsDialog() {
}
}

public void setTrayVisible(boolean aVisible) {
if (mTrayVisible != aVisible) {
mTrayVisible = aVisible;
updateVisibility();
}
}

private void updateVisibility() {
if (mTrayVisible && !mKeyboardVisible) {
this.show();
} else {
this.hide(UIWidget.KEEP_WIDGET);
}
}

@Override
public void show() {
if (!mWidgetPlacement.visible) {
Expand Down Expand Up @@ -312,4 +331,18 @@ public void onBookmarksHidden() {
mBookmarksButton.setActiveMode(false);
}

// WidgetManagerDelegate.UpdateListener
@Override
public void onWidgetUpdate(Widget aWidget) {
if (!aWidget.getClass().equals(KeyboardWidget.class)) {
return;
}

boolean keyboardVisible = aWidget.isVisible();
if (mKeyboardVisible != keyboardVisible) {
mKeyboardVisible = keyboardVisible;
updateVisibility();
}
}

}