/*
* Copyright (C) 2014 Pedro Vicente Gómez Sánchez.
*
* 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.github.pedrovgs.tuentitv.ui.activity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.AlphaAnimation;
import android.widget.ImageView;
import android.widget.ProgressBar;
import butterknife.InjectView;
import com.github.pedrovgs.tuentitv.R;
import com.squareup.picasso.Callback;
import com.squareup.picasso.Picasso;
import java.util.LinkedList;
import java.util.List;
/**
* Activity created to show an Image given a URL passed as parameter.
*
* @author Pedro Vicente Gómez Sánchez
*/
public class ShowImageActivity extends BaseActivity {
public static final String IMAGE_URL_EXTRA = "image_url_extra";
private static final int ALPHA_ANIMATION_DURATION = 1000;
@InjectView(R.id.iv_media_element) ImageView iv_media_element;
@InjectView(R.id.pb_loading) ProgressBar pb_loading;
@Override protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.show_image_activity);
super.onCreate(savedInstanceState);
String imageUrl = getImageUrlFromExtras();
Picasso.with(this).load(imageUrl).into(iv_media_element, new Callback() {
@Override public void onSuccess() {
animateImageView();
updateImageViewBackground();
hideLoading();
}
@Override public void onError() {
finish();
}
});
}
private String getImageUrlFromExtras() {
return getIntent().getExtras().getString(IMAGE_URL_EXTRA);
}
private void animateImageView() {
AlphaAnimation alphaAnimation = new AlphaAnimation(0f, 1.0f);
alphaAnimation.setDuration(ALPHA_ANIMATION_DURATION);
alphaAnimation.setFillAfter(true);
iv_media_element.startAnimation(alphaAnimation);
iv_media_element.setVisibility(View.VISIBLE);
}
private void updateImageViewBackground() {
int backgroundColor = getResources().getColor(R.color.third_color);
iv_media_element.setBackgroundColor(backgroundColor);
}
private void hideLoading() {
pb_loading.setVisibility(View.GONE);
}
@Override protected List getModules() {
return new LinkedList();
}
}