Fixing a memory leak in ContactListFilterLoader

Bug: 3226188
Change-Id: I02c5287955e7f112b9c9a279dc8709ff41f09615
diff --git a/src/com/android/contacts/activities/ContactBrowserActivity.java b/src/com/android/contacts/activities/ContactBrowserActivity.java
index 957c6ab..a2c4c42 100644
--- a/src/com/android/contacts/activities/ContactBrowserActivity.java
+++ b/src/com/android/contacts/activities/ContactBrowserActivity.java
@@ -256,10 +256,16 @@
 
     @Override
     protected void onStart() {
-        mContactListFilterController.startLoading();
+        mContactListFilterController.onStart();
         super.onStart();
     }
 
+    @Override
+    protected void onStop() {
+        mContactListFilterController.onStop();
+        super.onStop();
+    }
+
     private void configureFragments(boolean fromRequest) {
         boolean searchMode = mSearchMode;
         if (fromRequest) {
diff --git a/src/com/android/contacts/list/ContactListFilterController.java b/src/com/android/contacts/list/ContactListFilterController.java
index a8c780b..919c799 100644
--- a/src/com/android/contacts/list/ContactListFilterController.java
+++ b/src/com/android/contacts/list/ContactListFilterController.java
@@ -101,13 +101,17 @@
         return mFiltersLoaded;
     }
 
-    public void startLoading() {
+    public void onStart() {
         if (mFilter == null) {
             mFilter = ContactListFilter.restoreFromPreferences(getSharedPreferences());
         }
         mLoaderManager.initLoader(R.id.contact_list_filter_loader, null, this);
     }
 
+    public void onStop() {
+        mLoaderManager.stopLoader(R.id.contact_list_filter_loader);
+    }
+
     private SharedPreferences getSharedPreferences() {
         return PreferenceManager.getDefaultSharedPreferences(mContext);
     }