// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.widget.accessibility;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.ListView;
/**
* A {@link ListView} class that is responsible for providing a visual interpretation
* of a {@link org.chromium.chrome.browser.tabmodel.TabModel}.
*/
public class AccessibilityTabModelListView extends ListView {
private final AccessibilityTabModelAdapter mAdapter;
private boolean mCanScrollVertically = true;
/**
* @param context The Context to build this widget under.
* @param attrs The AttributeSet to use to build this widget.
*/
public AccessibilityTabModelListView(Context context, AttributeSet attrs) {
super(context, attrs);
mAdapter = new AccessibilityTabModelAdapter(getContext(), this);
}
@Override
public void onFinishInflate() {
super.onFinishInflate();
setAdapter(mAdapter);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent e) {
// Ignore touch events if we're not scrolling.
if (!mCanScrollVertically) return false;
return super.onInterceptTouchEvent(e);
}
/**
* @param canScroll Whether or not the ListView should be allowed to scroll vertically.
*/
public void setCanScroll(boolean canScroll) {
mCanScrollVertically = canScroll;
}
}