import android.widget.ImageView;
import com.owncloud.android.datamodel.OCFile;
-import com.owncloud.android.lib.common.utils.Log_OC;
import java.io.FileInputStream;
import java.io.InputStream;
private int mBitmapHeight;
private int mBitmapWidth;
- private Movie gifMovie;
- private int movieWidth, movieHeight;
- private long movieDuration;
- private long movieRunDuration;
- private long lastTick;
+ private Movie mGifMovie;
+ private int mMovieWidth, mMovieHeight;
+ private long mMovieDuration;
+ private long mMovieRunDuration;
+ private long mLastTick;
public ImageViewCustom(Context context) {
super(context);
setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
- if(gifMovie == null){
+ if(mGifMovie == null){
super.onDraw(canvas);
} else {
long nowTick = android.os.SystemClock.uptimeMillis();
- if (lastTick == 0) {
- movieRunDuration = 0;
+ if (mLastTick == 0) {
+ mMovieRunDuration = 0;
} else {
- movieRunDuration += nowTick -lastTick;
- if(movieRunDuration > movieDuration){
- movieRunDuration = 0;
+ mMovieRunDuration += nowTick - mLastTick;
+ if(mMovieRunDuration > mMovieDuration){
+ mMovieRunDuration = 0;
}
}
- gifMovie.setTime((int) movieRunDuration);
+ mGifMovie.setTime((int) mMovieRunDuration);
float scale;
- if(gifMovie.height() > getHeight() || gifMovie.width() > getWidth()) {
- scale = (1f / Math.min(canvas.getHeight() / gifMovie.height(),
- canvas.getWidth() / gifMovie.width())) + 0.25f;
+ if(mGifMovie.height() > getHeight() || mGifMovie.width() > getWidth()) {
+ scale = (1f / Math.min(canvas.getHeight() / mGifMovie.height(),
+ canvas.getWidth() / mGifMovie.width())) + 0.25f;
} else {
- scale = Math.min(canvas.getHeight() / gifMovie.height(),
- canvas.getWidth() / gifMovie.width());
+ scale = Math.min(canvas.getHeight() / mGifMovie.height(),
+ canvas.getWidth() / mGifMovie.width());
}
canvas.scale(scale, scale);
- canvas.translate(((float) getWidth() / scale - (float) gifMovie.width()) / 2f,
- ((float) getHeight() / scale - (float) gifMovie.height()) /2f);
+ canvas.translate(((float) getWidth() / scale - (float) mGifMovie.width()) / 2f,
+ ((float) getHeight() / scale - (float) mGifMovie.height()) /2f);
- gifMovie.draw(canvas, 0, 0);
+ mGifMovie.draw(canvas, 0, 0);
- lastTick = nowTick;
+ mLastTick = nowTick;
invalidate();
}
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
- setMeasuredDimension(movieWidth, movieHeight);
+ if (mGifMovie == null){
+ setMeasuredDimension(widthMeasureSpec, heightMeasureSpec);
+ } else {
+ setMeasuredDimension(mMovieWidth, mMovieHeight);
+ }
}
/**
setLayerType(View.LAYER_TYPE_SOFTWARE, null);
setFocusable(true);
- gifMovie = Movie.decodeStream(gifInputStream);
- movieWidth = gifMovie.width();
- movieHeight = gifMovie.height();
- movieDuration = gifMovie.duration();
+ mGifMovie = Movie.decodeStream(gifInputStream);
+ mMovieWidth = mGifMovie.width();
+ mMovieHeight = mGifMovie.height();
+ mMovieDuration = mGifMovie.duration();
} catch (Exception e) {
e.printStackTrace();
}