/* This file is part of RateBeer For Android. RateBeer for Android is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. RateBeer for Android is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with RateBeer for Android. If not, see <http://www.gnu.org/licenses/>. */ package com.ratebeer.android.gui.fragments; import android.widget.ImageView; import com.googlecode.androidannotations.annotations.AfterViews; import com.googlecode.androidannotations.annotations.EFragment; import com.googlecode.androidannotations.annotations.FragmentArg; import com.googlecode.androidannotations.annotations.InstanceState; import com.googlecode.androidannotations.annotations.OptionsItem; import com.googlecode.androidannotations.annotations.OptionsMenu; import com.googlecode.androidannotations.annotations.ViewById; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.assist.DiscCacheUtil; import com.nostra13.universalimageloader.core.assist.MemoryCacheUtil; import com.ratebeer.android.R; import com.ratebeer.android.app.RateBeerForAndroid; import com.ratebeer.android.gui.components.RateBeerFragment; @EFragment(R.layout.fragment_fullscreenphoto) @OptionsMenu(R.menu.refresh) public class FullScreenImageFragment extends RateBeerFragment { @FragmentArg @InstanceState protected String photoLowResUrl; @FragmentArg @InstanceState protected String photoHighResUrl; @ViewById protected ImageView fullscreenImage; public FullScreenImageFragment() { } @AfterViews public void init() { refreshImage(); } @OptionsItem(R.id.menu_refresh) protected void onRefresh() { // Forcefully remove any cached version of this image and then ask for a refresh MemoryCacheUtil.removeFromCache(photoLowResUrl, ImageLoader.getInstance().getMemoryCache()); MemoryCacheUtil.removeFromCache(photoHighResUrl, ImageLoader.getInstance().getMemoryCache()); DiscCacheUtil.removeFromCache(photoLowResUrl, ImageLoader.getInstance().getDiscCache()); DiscCacheUtil.removeFromCache(photoHighResUrl, ImageLoader.getInstance().getDiscCache()); refreshImage(); } private void refreshImage() { RateBeerForAndroid.getImageCache(getActivity()).displayImage(photoHighResUrl, fullscreenImage); } }