Merge "Only register listeners if setView was success." into sc-qpr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
f16f863023
@@ -800,11 +800,7 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
context);
|
context);
|
||||||
mCompatibleVisibilityInfo = new SystemUiVisibilityInfo();
|
mCompatibleVisibilityInfo = new SystemUiVisibilityInfo();
|
||||||
mAccessibilityManager = AccessibilityManager.getInstance(context);
|
mAccessibilityManager = AccessibilityManager.getInstance(context);
|
||||||
mAccessibilityManager.addAccessibilityStateChangeListener(
|
|
||||||
mAccessibilityInteractionConnectionManager, mHandler);
|
|
||||||
mHighContrastTextManager = new HighContrastTextManager();
|
mHighContrastTextManager = new HighContrastTextManager();
|
||||||
mAccessibilityManager.addHighTextContrastStateChangeListener(
|
|
||||||
mHighContrastTextManager, mHandler);
|
|
||||||
mViewConfiguration = ViewConfiguration.get(context);
|
mViewConfiguration = ViewConfiguration.get(context);
|
||||||
mDensity = context.getResources().getDisplayMetrics().densityDpi;
|
mDensity = context.getResources().getDisplayMetrics().densityDpi;
|
||||||
mNoncompatDensity = context.getResources().getDisplayMetrics().noncompatDensityDpi;
|
mNoncompatDensity = context.getResources().getDisplayMetrics().noncompatDensityDpi;
|
||||||
@@ -1004,8 +1000,6 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
mView = view;
|
mView = view;
|
||||||
|
|
||||||
mAttachInfo.mDisplayState = mDisplay.getState();
|
mAttachInfo.mDisplayState = mDisplay.getState();
|
||||||
mDisplayManager.registerDisplayListener(mDisplayListener, mHandler);
|
|
||||||
|
|
||||||
mViewLayoutDirectionInitial = mView.getRawLayoutDirection();
|
mViewLayoutDirectionInitial = mView.getRawLayoutDirection();
|
||||||
mFallbackEventHandler.setView(view);
|
mFallbackEventHandler.setView(view);
|
||||||
mWindowAttributes.copyFrom(attrs);
|
mWindowAttributes.copyFrom(attrs);
|
||||||
@@ -1198,6 +1192,7 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
"Unable to add window -- unknown error code " + res);
|
"Unable to add window -- unknown error code " + res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
registerListeners();
|
||||||
if ((res & WindowManagerGlobal.ADD_FLAG_USE_BLAST) != 0) {
|
if ((res & WindowManagerGlobal.ADD_FLAG_USE_BLAST) != 0) {
|
||||||
mUseBLASTAdapter = true;
|
mUseBLASTAdapter = true;
|
||||||
}
|
}
|
||||||
@@ -1254,6 +1249,28 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register any kind of listeners if setView was success.
|
||||||
|
*/
|
||||||
|
private void registerListeners() {
|
||||||
|
mAccessibilityManager.addAccessibilityStateChangeListener(
|
||||||
|
mAccessibilityInteractionConnectionManager, mHandler);
|
||||||
|
mAccessibilityManager.addHighTextContrastStateChangeListener(
|
||||||
|
mHighContrastTextManager, mHandler);
|
||||||
|
mDisplayManager.registerDisplayListener(mDisplayListener, mHandler);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unregister all listeners while detachedFromWindow.
|
||||||
|
*/
|
||||||
|
private void unregisterListeners() {
|
||||||
|
mAccessibilityManager.removeAccessibilityStateChangeListener(
|
||||||
|
mAccessibilityInteractionConnectionManager);
|
||||||
|
mAccessibilityManager.removeHighTextContrastStateChangeListener(
|
||||||
|
mHighContrastTextManager);
|
||||||
|
mDisplayManager.unregisterDisplayListener(mDisplayListener);
|
||||||
|
}
|
||||||
|
|
||||||
private void setTag() {
|
private void setTag() {
|
||||||
final String[] split = mWindowAttributes.getTitle().toString().split("\\.");
|
final String[] split = mWindowAttributes.getTitle().toString().split("\\.");
|
||||||
if (split.length > 0) {
|
if (split.length > 0) {
|
||||||
@@ -4979,10 +4996,6 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
}
|
}
|
||||||
|
|
||||||
mAccessibilityInteractionConnectionManager.ensureNoConnection();
|
mAccessibilityInteractionConnectionManager.ensureNoConnection();
|
||||||
mAccessibilityManager.removeAccessibilityStateChangeListener(
|
|
||||||
mAccessibilityInteractionConnectionManager);
|
|
||||||
mAccessibilityManager.removeHighTextContrastStateChangeListener(
|
|
||||||
mHighContrastTextManager);
|
|
||||||
removeSendWindowContentChangedCallback();
|
removeSendWindowContentChangedCallback();
|
||||||
|
|
||||||
destroyHardwareRenderer();
|
destroyHardwareRenderer();
|
||||||
@@ -5015,8 +5028,7 @@ public final class ViewRootImpl implements ViewParent,
|
|||||||
mInputEventReceiver = null;
|
mInputEventReceiver = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
mDisplayManager.unregisterDisplayListener(mDisplayListener);
|
unregisterListeners();
|
||||||
|
|
||||||
unscheduleTraversals();
|
unscheduleTraversals();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user