1cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes/*
2cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * Copyright (C) 2016 The Android Open Source Project
3cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes *
4cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * Licensed under the Apache License, Version 2.0 (the "License");
5cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * you may not use this file except in compliance with the License.
6cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * You may obtain a copy of the License at
7cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes *
8cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes *      http://www.apache.org/licenses/LICENSE-2.0
9cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes *
10cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * Unless required by applicable law or agreed to in writing, software
11cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * distributed under the License is distributed on an "AS IS" BASIS,
12cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * See the License for the specific language governing permissions and
14cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * limitations under the License.
15cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes */
16cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes
17cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banespackage android.support.v4.widget;
18cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes
19cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banesimport android.os.Build;
20cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banesimport android.support.annotation.NonNull;
21cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banesimport android.widget.ListView;
22cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes
23cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes/**
24cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * Helper for accessing features in {@link ListView} introduced after API level
25cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes * 4 in a backwards compatible fashion.
26cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes */
27cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banespublic final class ListViewCompat {
28cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes
29cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes    /**
30cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes     * Scrolls the list items within the view by a specified number of pixels.
31cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes     *
32cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes     * @param listView the list to scroll
33cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes     * @param y the amount of pixels to scroll by vertically
34cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes     */
35cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes    public static void scrollListBy(@NonNull ListView listView, int y) {
36cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes        if (Build.VERSION.SDK_INT >= 19) {
37cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes            ListViewCompatKitKat.scrollListBy(listView, y);
38cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes        } else {
3964dbe1d454f1190b3cd8426d09b9119949a10709Kirill Grouchnikov            ListViewCompatGingerbread.scrollListBy(listView, y);
40cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes        }
41cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes    }
42cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes
43cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes    private ListViewCompat() {}
44cc7e6ffce76f2066838b626ac04536b95a0689c3Chris Banes}
45