summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2018-04-11 20:01:01 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-04-11 20:01:01 +0000
commit5000367d38154428f9e57dbb0097cbaca7b7c0c4 (patch)
tree5a478c39601a413f58854a444f1f50db80287bbd
parent8b73c1126a556c5ace092d9864dc101cb6748283 (diff)
parent3eb4d642c1d55b5b8b5e1b680cb7c873029d5e50 (diff)
Merge "Fixing missing reportDrawFinish method in windowCallbacksCompat" into pi-dev
-rw-r--r--packages/SystemUI/shared/src/com/android/systemui/shared/system/WindowCallbacksCompat.java24
1 files changed, 19 insertions, 5 deletions
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/WindowCallbacksCompat.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/WindowCallbacksCompat.java
index 36d84234f962..b2b140e4b0a9 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/WindowCallbacksCompat.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/WindowCallbacksCompat.java
@@ -60,6 +60,12 @@ public class WindowCallbacksCompat {
}
};
+ private final View mView;
+
+ public WindowCallbacksCompat(View view) {
+ mView = view;
+ }
+
public void onWindowSizeIsChanging(Rect newBounds, boolean fullscreen, Rect systemInsets,
Rect stableInsets) { }
@@ -72,12 +78,20 @@ public class WindowCallbacksCompat {
return false;
}
- public void onRequestDraw(boolean reportNextDraw) { }
+ public void onRequestDraw(boolean reportNextDraw) {
+ if (reportNextDraw) {
+ reportDrawFinish();
+ }
+ }
public void onPostDraw(Canvas canvas) { }
- public final boolean addToView(View view) {
- ViewRootImpl root = view.getViewRootImpl();
+ public void reportDrawFinish() {
+ mView.getViewRootImpl().reportDrawFinish();
+ }
+
+ public boolean attach() {
+ ViewRootImpl root = mView.getViewRootImpl();
if (root != null) {
root.addWindowCallbacks(mWindowCallbacks);
root.requestInvalidateRootRenderNode();
@@ -86,8 +100,8 @@ public class WindowCallbacksCompat {
return false;
}
- public final void removeFromView(View view) {
- ViewRootImpl root = view.getViewRootImpl();
+ public void detach() {
+ ViewRootImpl root = mView.getViewRootImpl();
if (root != null) {
root.removeWindowCallbacks(mWindowCallbacks);
}