Fix cts test PopupWindowTest#testGetMaxAvailableHeight()
Bug: 18235917
Change-Id: I831d304be484e1bb11c52c952b3225506564e58b
diff --git a/tests/tests/widget/src/android/widget/cts/MockPopupWindowCtsActivity.java b/tests/tests/widget/src/android/widget/cts/MockPopupWindowCtsActivity.java
index a68286a..41018a9 100644
--- a/tests/tests/widget/src/android/widget/cts/MockPopupWindowCtsActivity.java
+++ b/tests/tests/widget/src/android/widget/cts/MockPopupWindowCtsActivity.java
@@ -21,15 +21,37 @@
import android.app.Activity;
import android.os.Bundle;
import android.widget.PopupWindow;
+import android.view.View;
+import android.view.View.OnApplyWindowInsetsListener;
+import android.view.Window;
+import android.view.WindowInsets;
/**
* Stub activity for testing {@link PopupWindow}
*/
public class MockPopupWindowCtsActivity extends Activity {
+ private boolean isFirstRun = true;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.popupwindow);
+ Window window = getWindow();
+ final View decor = window.getDecorView();
+ decor.setOnApplyWindowInsetsListener(new OnApplyWindowInsetsListener() {
+ @Override
+ public WindowInsets onApplyWindowInsets(View v, WindowInsets insets) {
+ if (isFirstRun) {
+ if (insets.isRound()) {
+ decor.setPadding(decor.getPaddingLeft(), decor.getPaddingTop(),
+ decor.getPaddingRight(),
+ decor.getPaddingBottom() + insets.getSystemWindowInsetBottom());
+ }
+ isFirstRun = false;
+ setContentView(R.layout.popupwindow);
+ }
+ return insets.consumeSystemWindowInsets();
+ }
+ });
}
}