@Override
 public void changeCursor(Cursor cursor) {
   if (cursor != mActivity.mQueryCursor) {
     mActivity.mQueryCursor = cursor;
     super.changeCursor(cursor);
   }
 }
 @Override
 public Cursor runQueryOnBackgroundThread(CharSequence constraint) {
   String s = constraint.toString();
   if (mConstraintIsValid
       && ((s == null && mConstraint == null) || (s != null && s.equals(mConstraint)))) {
     return getCursor();
   }
   Cursor c = mActivity.getQueryCursor(null, s);
   mConstraint = s;
   mConstraintIsValid = true;
   return c;
 }