Reset the setOnKeyListener callback when view is destroyed

NPE happened in mListOnKeyListener.onKey().

It looks like onKey in some cases is sent to a view while beeing
destroyed. When callback is received mList is referenced causing
the NPE.

Remove OnKeyListener first when destroying view so we can not get
any unwanted key callbacks.

Bug: 22333421

Change-Id: I94b198e31a2f9fbdd7fbadf4971be7720dcfad8d
diff --git a/core/java/android/preference/PreferenceFragment.java b/core/java/android/preference/PreferenceFragment.java
index e95e6e2..a6d2cbe 100644
--- a/core/java/android/preference/PreferenceFragment.java
+++ b/core/java/android/preference/PreferenceFragment.java
@@ -212,6 +212,9 @@
 
     @Override
     public void onDestroyView() {
+        if (mList != null) {
+            mList.setOnKeyListener(null);
+        }
         mList = null;
         mHandler.removeCallbacks(mRequestFocus);
         mHandler.removeMessages(MSG_BIND_PREFERENCES);