/* * Copyright (c) 2015 [1076559197@qq.com | tchen0707@gmail.com] * * Licensed under the Apache License, Version 2.0 (the "Licenseā€); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.dreamspace.uucampus.widget.progress; import android.animation.ValueAnimator; import static java.lang.Math.min; /** * Created by castorflex on 8/14/14. */ class CircularProgressBarUtils { private CircularProgressBarUtils() { } static void checkSpeed(float speed) { if (speed <= 0f) throw new IllegalArgumentException("Speed must be >= 0"); } static void checkColors(int[] colors) { if (colors == null || colors.length == 0) throw new IllegalArgumentException("You must provide at least 1 color"); } static void checkAngle(int angle) { if (angle < 0 || angle > 360) throw new IllegalArgumentException(String.format("Illegal angle %d: must be >=0 and <= 360", angle)); } static void checkPositiveOrZero(float number, String name) { if (number < 0) throw new IllegalArgumentException(String.format("%s %d must be positive", name, number)); } static void checkPositive(int number, String name) { if (number <= 0) throw new IllegalArgumentException(String.format("%s must not be null", name)); } static void checkNotNull(Object o, String name) { if (o == null) throw new IllegalArgumentException(String.format("%s must be not null", name)); } static float getAnimatedFraction(ValueAnimator animator) { float fraction = animator.getDuration() > 0 ? ((float) animator.getCurrentPlayTime()) / animator.getDuration() : 0f; fraction = min(fraction, 1f); fraction = animator.getInterpolator().getInterpolation(fraction); return fraction; } }