1 /* 2 * Copyright (C) 2012 Google Inc. 3 * Licensed to The Android Open Source Project. 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18 package com.android.mail.ui; 19 20 import android.view.View; 21 22 /** 23 * Represents an item that can be dismissed by the SwipeableListView. 24 */ 25 public interface SwipeableItemView { getSwipeableView()26 public SwipeableView getSwipeableView(); 27 canChildBeDismissed()28 public boolean canChildBeDismissed(); 29 dismiss()30 public void dismiss(); 31 32 /** 33 * Returns the minimum allowed displacement in the Y axis that is considered a scroll. After 34 * this displacement, all future events are considered scroll events rather than swipes. 35 * @return 36 */ getMinAllowScrollDistance()37 public float getMinAllowScrollDistance(); 38 39 public static class SwipeableView { from(View view)40 public static SwipeableView from(View view) { 41 view.setClickable(true); 42 return new SwipeableView(view); 43 } 44 45 private final View mView; SwipeableView(View view)46 private SwipeableView(View view) { 47 mView = view; 48 } 49 getView()50 public View getView() { 51 return mView; 52 } 53 } 54 } 55