|  |  |  | @ -5,7 +5,6 @@ import android.app.Activity; | 
		
	
		
			
				|  |  |  |  | import android.content.Context; | 
		
	
		
			
				|  |  |  |  | import android.content.res.TypedArray; | 
		
	
		
			
				|  |  |  |  | import android.graphics.Color; | 
		
	
		
			
				|  |  |  |  | import android.os.Build; | 
		
	
		
			
				|  |  |  |  | import android.os.Build.VERSION; | 
		
	
		
			
				|  |  |  |  | import android.os.Build.VERSION_CODES; | 
		
	
		
			
				|  |  |  |  | import android.support.annotation.NonNull; | 
		
	
	
		
			
				
					|  |  |  | @ -79,6 +78,9 @@ public class ThumbnailView extends FrameLayout { | 
		
	
		
			
				|  |  |  |  |     progress       = (ProgressWheel) findViewById(R.id.progress_wheel); | 
		
	
		
			
				|  |  |  |  |     downloadButton = (ImageButton)   findViewById(R.id.download_button); | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |     setOnClickListener(new ThumbnailClickDispatcher()); | 
		
	
		
			
				|  |  |  |  |     downloadButton.setOnClickListener(new DownloadClickDispatcher()); | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |     if (attrs != null) { | 
		
	
		
			
				|  |  |  |  |       TypedArray typedArray = context.getTheme().obtainStyledAttributes(attrs, R.styleable.ThumbnailView, 0, 0); | 
		
	
		
			
				|  |  |  |  |       backgroundColorHint = typedArray.getColor(0, Color.BLACK); | 
		
	
	
		
			
				
					|  |  |  | @ -184,12 +186,6 @@ public class ThumbnailView extends FrameLayout { | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |     this.slide = slide; | 
		
	
		
			
				|  |  |  |  |     buildGlideRequest(slide, masterSecret).into(image); | 
		
	
		
			
				|  |  |  |  |     if (this.slide.getTransferProgress() == PartDatabase.TRANSFER_PROGRESS_DONE) { | 
		
	
		
			
				|  |  |  |  |       setOnClickListener(new ThumbnailClickDispatcher(thumbnailClickListener, slide)); | 
		
	
		
			
				|  |  |  |  |     } else { | 
		
	
		
			
				|  |  |  |  |       setOnClickListener(null); | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  |     downloadButton.setOnClickListener(new ThumbnailClickDispatcher(downloadClickListener, slide)); | 
		
	
		
			
				|  |  |  |  |   } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |   public void setThumbnailClickListener(ThumbnailClickListener listener) { | 
		
	
	
		
			
				
					|  |  |  | @ -332,20 +328,23 @@ public class ThumbnailView extends FrameLayout { | 
		
	
		
			
				|  |  |  |  |     void onClick(View v, Slide slide); | 
		
	
		
			
				|  |  |  |  |   } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |   private static class ThumbnailClickDispatcher implements View.OnClickListener { | 
		
	
		
			
				|  |  |  |  |     private ThumbnailClickListener listener; | 
		
	
		
			
				|  |  |  |  |     private Slide                  slide; | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |     public ThumbnailClickDispatcher(ThumbnailClickListener listener, Slide slide) { | 
		
	
		
			
				|  |  |  |  |       this.listener = listener; | 
		
	
		
			
				|  |  |  |  |       this.slide    = slide; | 
		
	
		
			
				|  |  |  |  |   private class ThumbnailClickDispatcher implements View.OnClickListener { | 
		
	
		
			
				|  |  |  |  |     @Override | 
		
	
		
			
				|  |  |  |  |     public void onClick(View view) { | 
		
	
		
			
				|  |  |  |  |       if (thumbnailClickListener != null && | 
		
	
		
			
				|  |  |  |  |           slide                  != null && | 
		
	
		
			
				|  |  |  |  |           slide.getTransferProgress() == PartDatabase.TRANSFER_PROGRESS_DONE) | 
		
	
		
			
				|  |  |  |  |       { | 
		
	
		
			
				|  |  |  |  |         thumbnailClickListener.onClick(view, slide); | 
		
	
		
			
				|  |  |  |  |       } | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  |   } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |   private class DownloadClickDispatcher implements View.OnClickListener { | 
		
	
		
			
				|  |  |  |  |     @Override | 
		
	
		
			
				|  |  |  |  |     public void onClick(View view) { | 
		
	
		
			
				|  |  |  |  |       if (listener != null) | 
		
	
		
			
				|  |  |  |  |       { | 
		
	
		
			
				|  |  |  |  |         listener.onClick(view, slide); | 
		
	
		
			
				|  |  |  |  |       if (downloadClickListener != null && slide != null) { | 
		
	
		
			
				|  |  |  |  |         downloadClickListener.onClick(view, slide); | 
		
	
		
			
				|  |  |  |  |       } | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  |   } | 
		
	
	
		
			
				
					|  |  |  | 
 |