Keep callback reference from being null.
The hide call delays removal of mKeyguardView but the inflate call occurred before the delay expired. The method inflateKeyguardView would have removed it except hide() also nulled out mKeyguardView. Consequently there were two KeyguardHostViews in the view hierarchy. The findViewById returned the first view which got the callback assigned. Later that view was removed from the hierarchy and when the new view was called it had no callback assigned => NPE! This fix removes the KeyguardHostView from the mKeyguardHost by referncing the id rather than the null mKeyguardView. Fixes bug 7250008. Change-Id: Ic9da3415d72187628f06271c12d5184f9d01059b
This commit is contained in:
@@ -164,8 +164,9 @@ public class KeyguardViewManager {
|
||||
}
|
||||
|
||||
private void inflateKeyguardView() {
|
||||
if (mKeyguardView != null) {
|
||||
mKeyguardHost.removeView(mKeyguardView);
|
||||
View v = mKeyguardHost.findViewById(R.id.keyguard_host_view);
|
||||
if (v != null) {
|
||||
mKeyguardHost.removeView(v);
|
||||
}
|
||||
// TODO: Remove once b/7094175 is fixed
|
||||
Slog.d(TAG, "inflateKeyguardView: b/7094175 mContext.config="
|
||||
|
||||
Reference in New Issue
Block a user