You've already forked android_translation_layer
mirror of
https://gitlab.com/android_translation_layer/android_translation_layer.git
synced 2025-10-27 11:48:10 -07:00
Window: fix some regressions caused by decorView
The window background is now set on the decorView and also window.set_widget_as_root() must now be called manually.
This commit is contained in:
@@ -172,8 +172,7 @@ public class Activity extends ContextThemeWrapper implements Window.Callback {
|
|||||||
|
|
||||||
protected void onStart() {
|
protected void onStart() {
|
||||||
Slog.i(TAG, "- onStart - yay!");
|
Slog.i(TAG, "- onStart - yay!");
|
||||||
if (window.contentView != null)
|
window.set_widget_as_root(window.native_window, window.getDecorView().widget);
|
||||||
window.setContentView(window.contentView);
|
|
||||||
window.setTitle(title);
|
window.setTitle(title);
|
||||||
|
|
||||||
for (Fragment fragment : fragments) {
|
for (Fragment fragment : fragments) {
|
||||||
@@ -284,9 +283,7 @@ public class Activity extends ContextThemeWrapper implements Window.Callback {
|
|||||||
|
|
||||||
public <T extends android.view.View> T findViewById(int id) {
|
public <T extends android.view.View> T findViewById(int id) {
|
||||||
System.out.printf(TAG, "- findViewById - asked for view with id: %x\n", id);
|
System.out.printf(TAG, "- findViewById - asked for view with id: %x\n", id);
|
||||||
View view = null;
|
View view = window.findViewById(id);
|
||||||
if (window.contentView != null)
|
|
||||||
view = window.contentView.findViewById(id);
|
|
||||||
Slog.i(TAG, "- findViewById - found this: " + view);
|
Slog.i(TAG, "- findViewById - found this: " + view);
|
||||||
|
|
||||||
return (T)view;
|
return (T)view;
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ public class Window {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public long native_window;
|
public long native_window;
|
||||||
public View contentView;
|
|
||||||
private ViewGroup decorView;
|
private ViewGroup decorView;
|
||||||
|
|
||||||
private Window.Callback callback;
|
private Window.Callback callback;
|
||||||
@@ -63,7 +62,7 @@ public class Window {
|
|||||||
return decorView;
|
return decorView;
|
||||||
}
|
}
|
||||||
|
|
||||||
private native void set_widget_as_root(long native_window, long widget);
|
public native void set_widget_as_root(long native_window, long widget);
|
||||||
private native void set_title(long native_window, String title);
|
private native void set_title(long native_window, String title);
|
||||||
|
|
||||||
public native void take_input_queue(long native_window, InputQueue.Callback callback, InputQueue queue);
|
public native void take_input_queue(long native_window, InputQueue.Callback callback, InputQueue queue);
|
||||||
@@ -89,9 +88,7 @@ public class Window {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setBackgroundDrawable(Drawable drawable) {
|
public void setBackgroundDrawable(Drawable drawable) {
|
||||||
/* TODO: should this be *under* the contentView background? */
|
decorView.setBackgroundDrawable(drawable);
|
||||||
if (contentView != null)
|
|
||||||
contentView.setBackgroundDrawable(drawable);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAttributes(WindowManager.LayoutParams params) {}
|
public void setAttributes(WindowManager.LayoutParams params) {}
|
||||||
|
|||||||
Reference in New Issue
Block a user