Loading packages/SystemUI/src/com/android/systemui/statusbar/NotificationRemoteInputManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -402,7 +402,7 @@ public class NotificationRemoteInputManager implements Dumpable { while (p != null) { if (p instanceof View) { View pv = (View) p; if (pv.isRootNamespace()) { if (pv.getId() == com.android.internal.R.id.status_bar_latest_event_content) { riv = findRemoteInputView(pv); row = (ExpandableNotificationRow) pv.getTag(R.id.row_tag_for_content_view); break; Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentInflater.java +0 −2 Original line number Diff line number Diff line Loading @@ -474,7 +474,6 @@ public class NotificationContentInflater implements NotificationRowContentBinder parentLayout, remoteViewClickHandler); validateView(v, entry, row.getResources()); v.setIsRootNamespace(true); applyCallback.setResultView(v); } else { newContentView.reapply( Loading Loading @@ -511,7 +510,6 @@ public class NotificationContentInflater implements NotificationRowContentBinder return; } if (isNewView) { v.setIsRootNamespace(true); applyCallback.setResultView(v); } else if (existingWrapper != null) { existingWrapper.onReinflated(); Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java +17 −0 Original line number Diff line number Diff line Loading @@ -208,6 +208,23 @@ public class NotificationContentView extends FrameLayout implements Notification mSmartReplyConstants = smartReplyConstants; mSmartReplyController = smartReplyController; mStatusBarService = statusBarService; // We set root namespace so that we avoid searching children for id. Notification might // contain custom view and their ids may clash with ids already existing in shade or // notification panel setIsRootNamespace(true); } @Override public View focusSearch(View focused, int direction) { // This implementation is copied from ViewGroup but with removed special handling of // setIsRootNamespace. This view is set as tree root using setIsRootNamespace and it // causes focus to be stuck inside of it. We need to be root to avoid id conflicts // but we don't want to behave like root when it comes to focusing. if (mParent != null) { return mParent.focusSearch(focused, direction); } Log.wtf(TAG, "NotificationContentView doesn't have parent"); return null; } public void reinflate() { Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/NotificationRemoteInputManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -402,7 +402,7 @@ public class NotificationRemoteInputManager implements Dumpable { while (p != null) { if (p instanceof View) { View pv = (View) p; if (pv.isRootNamespace()) { if (pv.getId() == com.android.internal.R.id.status_bar_latest_event_content) { riv = findRemoteInputView(pv); row = (ExpandableNotificationRow) pv.getTag(R.id.row_tag_for_content_view); break; Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentInflater.java +0 −2 Original line number Diff line number Diff line Loading @@ -474,7 +474,6 @@ public class NotificationContentInflater implements NotificationRowContentBinder parentLayout, remoteViewClickHandler); validateView(v, entry, row.getResources()); v.setIsRootNamespace(true); applyCallback.setResultView(v); } else { newContentView.reapply( Loading Loading @@ -511,7 +510,6 @@ public class NotificationContentInflater implements NotificationRowContentBinder return; } if (isNewView) { v.setIsRootNamespace(true); applyCallback.setResultView(v); } else if (existingWrapper != null) { existingWrapper.onReinflated(); Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationContentView.java +17 −0 Original line number Diff line number Diff line Loading @@ -208,6 +208,23 @@ public class NotificationContentView extends FrameLayout implements Notification mSmartReplyConstants = smartReplyConstants; mSmartReplyController = smartReplyController; mStatusBarService = statusBarService; // We set root namespace so that we avoid searching children for id. Notification might // contain custom view and their ids may clash with ids already existing in shade or // notification panel setIsRootNamespace(true); } @Override public View focusSearch(View focused, int direction) { // This implementation is copied from ViewGroup but with removed special handling of // setIsRootNamespace. This view is set as tree root using setIsRootNamespace and it // causes focus to be stuck inside of it. We need to be root to avoid id conflicts // but we don't want to behave like root when it comes to focusing. if (mParent != null) { return mParent.focusSearch(focused, direction); } Log.wtf(TAG, "NotificationContentView doesn't have parent"); return null; } public void reinflate() { Loading