1560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell/* 2560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell * Copyright (C) 2011 The Android Open Source Project 3560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell * 4560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell * Licensed under the Apache License, Version 2.0 (the "License"); 5560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell * you may not use this file except in compliance with the License. 6560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell * You may obtain a copy of the License at 7560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell * 8560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell * http://www.apache.org/licenses/LICENSE-2.0 9560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell * 10560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell * Unless required by applicable law or agreed to in writing, software 11560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell * distributed under the License is distributed on an "AS IS" BASIS, 12560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell * See the License for the specific language governing permissions and 14560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell * limitations under the License. 15560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell */ 16560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powellpackage android.support.v4.widget; 17560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell 18560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powellimport android.content.Context; 19560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powellimport android.graphics.Canvas; 20560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powellimport android.widget.EdgeEffect; 21560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell 22560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell/** 23560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell * Stub implementation that contains a real EdgeEffect on ICS. 24560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell * 25560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell * This class is an implementation detail for EdgeEffectCompat 26560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell * and should not be used directly. 27560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell */ 28560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powellclass EdgeEffectCompatIcs { 29560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell public static Object newEdgeEffect(Context context) { 30560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell return new EdgeEffect(context); 31560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell } 32560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell 33560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell public static void setSize(Object edgeEffect, int width, int height) { 34560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell ((EdgeEffect) edgeEffect).setSize(width, height); 35560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell } 36560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell 37560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell public static boolean isFinished(Object edgeEffect) { 38560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell return ((EdgeEffect) edgeEffect).isFinished(); 39560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell } 40560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell 41560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell public static void finish(Object edgeEffect) { 42560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell ((EdgeEffect) edgeEffect).finish(); 43560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell } 44560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell 45560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell public static boolean onPull(Object edgeEffect, float deltaDistance) { 46560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell ((EdgeEffect) edgeEffect).onPull(deltaDistance); 47560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell return true; 48560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell } 49560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell 50560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell public static boolean onRelease(Object edgeEffect) { 51560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell EdgeEffect eff = (EdgeEffect) edgeEffect; 52560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell eff.onRelease(); 53560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell return eff.isFinished(); 54560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell } 55560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell 56560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell public static boolean onAbsorb(Object edgeEffect, int velocity) { 57560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell ((EdgeEffect) edgeEffect).onAbsorb(velocity); 58560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell return true; 59560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell } 60560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell 61560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell public static boolean draw(Object edgeEffect, Canvas canvas) { 62560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell return ((EdgeEffect) edgeEffect).draw(canvas); 63560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell } 64560114f591be31d0fb73c26a1ee1cc0a15184abaAdam Powell}