1 /* 2 * Copyright (C) 2022 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.quicksearchbox.ui 18 19 import android.view.View 20 import android.widget.AbsListView 21 22 /** Interface for suggestions list UI views. */ 23 interface SuggestionsListView<A> { 24 /** See [View.setOnKeyListener]. */ setOnKeyListenernull25 fun setOnKeyListener(l: View.OnKeyListener?) 26 27 /** See [AbsListView.setOnScrollListener]. */ 28 fun setOnScrollListener(l: AbsListView.OnScrollListener?) 29 30 /** See [View.setOnFocusChangeListener]. */ 31 fun setOnFocusChangeListener(l: View.OnFocusChangeListener?) 32 33 /** See [View.setVisibility]. */ 34 fun setVisibility(visibility: Int) 35 36 /** Sets the adapter for the list. See [AbsListView.setAdapter] */ 37 fun setSuggestionsAdapter(adapter: SuggestionsAdapter<A?>?) 38 39 /** Gets the adapter for the list. */ 40 fun getSuggestionsAdapter(): SuggestionsAdapter<A?>? 41 42 /** Gets the ID of the currently selected item. */ 43 fun getSelectedItemId(): Long 44 } 45