2022-10-02 23:06:56 +02:00
|
|
|
package android.view;
|
|
|
|
|
|
2023-09-19 17:37:14 +05:00
|
|
|
import android.view.SurfaceHolder;
|
|
|
|
|
|
2022-10-02 23:06:56 +02:00
|
|
|
public class Window {
|
2023-09-01 12:34:57 +02:00
|
|
|
public static final int FEATURE_OPTIONS_PANEL = 0;
|
|
|
|
|
|
2023-08-17 10:46:24 +02:00
|
|
|
public static interface Callback {
|
|
|
|
|
public void onContentChanged();
|
|
|
|
|
|
|
|
|
|
public abstract boolean onCreatePanelMenu(int featureId, Menu menu);
|
2023-08-22 14:41:01 +02:00
|
|
|
|
|
|
|
|
public View onCreatePanelView(int featureId);
|
2023-08-17 10:46:24 +02:00
|
|
|
|
2023-09-01 12:34:57 +02:00
|
|
|
public boolean onPreparePanel(int featureId, View view, Menu menu);
|
2023-08-17 10:46:24 +02:00
|
|
|
|
2023-09-01 12:34:57 +02:00
|
|
|
public boolean onMenuItemSelected(int featureId, MenuItem item);
|
2023-08-22 14:41:01 +02:00
|
|
|
|
2023-09-01 12:34:57 +02:00
|
|
|
public void onPanelClosed(int featureId, Menu menu);
|
2023-08-17 10:46:24 +02:00
|
|
|
}
|
2022-10-02 23:06:56 +02:00
|
|
|
|
|
|
|
|
// FIXME private
|
|
|
|
|
public long native_window;
|
2023-08-22 13:20:04 +02:00
|
|
|
public View contentView;
|
2022-10-02 23:06:56 +02:00
|
|
|
|
|
|
|
|
private Window.Callback callback;
|
|
|
|
|
|
2023-09-01 12:34:57 +02:00
|
|
|
public Window(Window.Callback callback) {
|
|
|
|
|
this.callback = callback;
|
2022-10-02 23:06:56 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void addFlags(int flags) {}
|
|
|
|
|
public void setFlags(int flags, int mask) {}
|
|
|
|
|
public void clearFlags(int flags) {}
|
|
|
|
|
|
|
|
|
|
public final Callback getCallback() {
|
|
|
|
|
return this.callback;
|
|
|
|
|
}
|
|
|
|
|
public void setCallback(Window.Callback callback) {
|
|
|
|
|
this.callback = callback;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void setContentView(View view) {
|
2023-10-14 10:59:27 +02:00
|
|
|
if (view != contentView) {
|
|
|
|
|
contentView = view;
|
|
|
|
|
set_widget_as_root(native_window, view.widget);
|
|
|
|
|
}
|
2022-10-02 23:06:56 +02:00
|
|
|
}
|
|
|
|
|
|
2022-10-26 18:39:04 +02:00
|
|
|
public View getDecorView() {
|
|
|
|
|
return new View(); // FIXME: this can probably backfire
|
|
|
|
|
}
|
|
|
|
|
|
2022-10-02 23:06:56 +02:00
|
|
|
private native void set_widget_as_root(long native_window, long widget);
|
2022-11-11 19:18:21 +01:00
|
|
|
|
|
|
|
|
public native void take_input_queue(long native_window, InputQueue.Callback callback, InputQueue queue);
|
|
|
|
|
|
|
|
|
|
public void takeInputQueue(InputQueue.Callback callback) {
|
|
|
|
|
take_input_queue(native_window, callback, new InputQueue());
|
|
|
|
|
}
|
2023-06-18 11:03:43 +02:00
|
|
|
|
|
|
|
|
public boolean requestFeature(int featureId) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
2023-08-17 10:46:24 +02:00
|
|
|
|
|
|
|
|
public View findViewById(int id) {
|
|
|
|
|
return View.view_by_id.get(id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public View peekDecorView() {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
2023-09-01 12:34:57 +02:00
|
|
|
|
|
|
|
|
public WindowManager.LayoutParams getAttributes() {
|
|
|
|
|
return new WindowManager.LayoutParams();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void setAttributes(WindowManager.LayoutParams params) {}
|
2023-09-19 17:37:14 +05:00
|
|
|
|
|
|
|
|
public void takeSurface(SurfaceHolder.Callback2 callback) {}
|
2022-10-02 23:06:56 +02:00
|
|
|
}
|