WindowManagerImpl: set view.parent

This commit is contained in:
Julian Winkler
2024-12-17 18:27:20 +01:00
parent 167d3856e9
commit 42fad0cfa6
2 changed files with 49 additions and 7 deletions

View File

@@ -1,6 +1,46 @@
package android.view;
public class WindowManagerImpl implements WindowManager, ViewManager {
private static class WindowViewParent implements ViewParent {
@Override
public android.view.ViewParent getParent() {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'getParent'");
}
@Override
public boolean isLayoutRequested() {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'isLayoutRequested'");
}
@Override
public void requestDisallowInterceptTouchEvent(boolean disallowIntercept) {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'requestDisallowInterceptTouchEvent'");
}
@Override
public boolean onStartNestedScroll(View child, View target, int nestedScrollAxes) {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'onStartNestedScroll'");
}
@Override
public boolean onNestedPreFling(View target, float velocityX, float velocityY) {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'onNestedPreFling'");
}
@Override
public boolean onNestedFling(View target, float velocityX, float velocityY, boolean consumed) {
// TODO Auto-generated method stub
throw new UnsupportedOperationException("Unimplemented method 'onNestedFling'");
}
}
public android.view.Display getDefaultDisplay() {
return new android.view.Display();
}
@@ -11,6 +51,7 @@ public class WindowManagerImpl implements WindowManager, ViewManager {
if (params.height == 0) // FIXME: remove this hack once measurement error with composeUI popups is fixed
params.height = 200;
view.setLayoutParams(params);
view.parent = new WindowViewParent();
view.onAttachedToWindow();
WindowManager.LayoutParams windowParams = (WindowManager.LayoutParams)params;
native_addView(view.widget, windowParams.type, windowParams.x, windowParams.y, params.width, params.height);
@@ -29,6 +70,7 @@ public class WindowManagerImpl implements WindowManager, ViewManager {
@Override
public void removeView(View view) {
native_removeView(view.widget);
view.parent = null;
}
@Override