SuggestionCursorWrapper.java revision fde948e69f59589cf0d217ea414af7947de600bb
1fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert/* 2fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert * Copyright (C) 2010 The Android Open Source Project 3fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert * 4fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert * Licensed under the Apache License, Version 2.0 (the "License"); 5fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert * you may not use this file except in compliance with the License. 6fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert * You may obtain a copy of the License at 7fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert * 8fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert * http://www.apache.org/licenses/LICENSE-2.0 9fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert * 10fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert * Unless required by applicable law or agreed to in writing, software 11fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert * distributed under the License is distributed on an "AS IS" BASIS, 12fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert * See the License for the specific language governing permissions and 14fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert * limitations under the License. 15fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert */ 16fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert 17fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringertpackage com.android.quicksearchbox; 18fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert 19fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringertimport android.database.DataSetObserver; 20fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert 21fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert/** 22fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert * A suggestion cursor that delegates all methods to another SuggestionCursor. 23fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert */ 24fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringertpublic class SuggestionCursorWrapper extends AbstractSuggestionCursorWrapper { 25fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert 26fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert private final SuggestionCursor mCursor; 27fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert 28fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert public SuggestionCursorWrapper(String userQuery, SuggestionCursor cursor) { 29fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert super(userQuery); 30fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert mCursor = cursor; 31fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert } 32fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert 33fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert public void close() { 34fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert if (mCursor != null) { 35fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert mCursor.close(); 36fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert } 37fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert } 38fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert 39fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert public int getCount() { 40fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert return mCursor == null ? 0 : mCursor.getCount(); 41fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert } 42fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert 43fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert public int getPosition() { 44fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert return mCursor == null ? 0 : mCursor.getPosition(); 45fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert } 46fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert 47fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert public void moveTo(int pos) { 48fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert if (mCursor != null) { 49fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert mCursor.moveTo(pos); 50fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert } 51fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert } 52fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert 53fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert public void registerDataSetObserver(DataSetObserver observer) { 54fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert if (mCursor != null) { 55fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert mCursor.registerDataSetObserver(observer); 56fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert } 57fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert } 58fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert 59fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert public void unregisterDataSetObserver(DataSetObserver observer) { 60fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert if (mCursor != null) { 61fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert mCursor.unregisterDataSetObserver(observer); 62fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert } 63fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert } 64fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert 65fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert @Override 66fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert protected SuggestionCursor current() { 67fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert return mCursor; 68fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert } 69fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert 70fde948e69f59589cf0d217ea414af7947de600bbBjorn Bringert} 71