// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser;
import android.graphics.Rect;
import android.view.Window;
/**
* This is a delegate that handles communication about a window's current state and properties.
*/
public class WindowDelegate {
private final Window mWindow;
/**
* @param window The Window object that this delegate will communicate with.
*/
public WindowDelegate(Window window) {
mWindow = window;
}
/**
* @return The soft input mode that is currently used by the window.
*/
public int getWindowSoftInputMode() {
return mWindow.getAttributes().softInputMode;
}
/**
* Set the soft input mode that is used by the window.
* @param softInputMode The soft input mode to be used.
*/
public void setWindowSoftInputMode(int softInputMode) {
mWindow.setSoftInputMode(softInputMode);
}
/**
* Used for accessing the current display frame for the whole window view hierarchy.
* @param displayFrame The rect that will be set to the current display frame for the window.
*/
public void getWindowVisibleDisplayFrame(Rect displayFrame) {
mWindow.getDecorView().getWindowVisibleDisplayFrame(displayFrame);
}
/**
* @return The height of the decor view.
*/
public int getDecorViewHeight() {
return mWindow.getDecorView().getHeight();
}
}