summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRyan O'Leary <ryanaoleary@google.com>2022-08-24 08:27:25 +0000
committerRyan O'Leary <ryanaoleary@google.com>2022-08-26 04:14:34 +0000
commitaf26f6b8b6d8aad71c1c0fcf6f45eb4c448b1eab (patch)
tree4adb9a9721a00b692a42f50d032c7ab203adaf3a /src
parent1450d65216519e18bc8ba75ac9a20f6d416a3d0d (diff)
downloadQuickSearchBox-af26f6b8b6d8aad71c1c0fcf6f45eb4c448b1eab.tar.gz
Copy of SuggestionsListAdapter.java for tracking git history of conversion
Test: manual - opening both .java and .kt files shows that they are identical Change-Id: I1939424b47ac2deb4032a87db6111001b1e1c4cb
Diffstat (limited to 'src')
-rw-r--r--src/com/android/quicksearchbox/ui/SuggestionsListAdapter.kt101
1 files changed, 101 insertions, 0 deletions
diff --git a/src/com/android/quicksearchbox/ui/SuggestionsListAdapter.kt b/src/com/android/quicksearchbox/ui/SuggestionsListAdapter.kt
new file mode 100644
index 0000000..6545c28
--- /dev/null
+++ b/src/com/android/quicksearchbox/ui/SuggestionsListAdapter.kt
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.quicksearchbox.ui;
+
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.BaseAdapter;
+import android.widget.ListAdapter;
+
+import com.android.quicksearchbox.SuggestionCursor;
+import com.android.quicksearchbox.SuggestionPosition;
+import com.android.quicksearchbox.Suggestions;
+
+/**
+ * Uses a {@link Suggestions} object to back a {@link SuggestionsView}.
+ */
+public class SuggestionsListAdapter extends SuggestionsAdapterBase<ListAdapter> {
+
+ private Adapter mAdapter;
+
+ public SuggestionsListAdapter(SuggestionViewFactory viewFactory) {
+ super(viewFactory);
+ mAdapter = new Adapter();
+ }
+
+ @Override
+ public boolean isEmpty() {
+ return mAdapter.getCount() == 0;
+ }
+
+ @Override
+ public SuggestionPosition getSuggestion(long suggestionId) {
+ return new SuggestionPosition(getCurrentSuggestions(), (int) suggestionId);
+ }
+
+ @Override
+ public BaseAdapter getListAdapter() {
+ return mAdapter;
+ }
+
+ @Override
+ public void notifyDataSetChanged() {
+ mAdapter.notifyDataSetChanged();
+ }
+
+ @Override
+ public void notifyDataSetInvalidated() {
+ mAdapter.notifyDataSetInvalidated();
+ }
+
+ class Adapter extends BaseAdapter {
+
+ @Override
+ public int getCount() {
+ SuggestionCursor s = getCurrentSuggestions();
+ return s == null ? 0 : s.getCount();
+ }
+
+ @Override
+ public Object getItem(int position) {
+ return getSuggestion(position);
+ }
+
+ @Override
+ public long getItemId(int position) {
+ return position;
+ }
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ return SuggestionsListAdapter.this.getView(
+ getCurrentSuggestions(), position, position, convertView, parent);
+ }
+
+ @Override
+ public int getItemViewType(int position) {
+ return getSuggestionViewType(getCurrentSuggestions(), position);
+ }
+
+ @Override
+ public int getViewTypeCount() {
+ return getSuggestionViewTypeCount();
+ }
+
+ }
+
+}