private void loadWebView() { frescoImage.setVisibility(View.GONE); image.setVisibility(View.GONE); webView.setVisibility(View.VISIBLE); webView.loadUrl(gifArray[index]); // TODO: test this from file as well }
@Override public View getView(int position, View convertView, ViewGroup parent) { View view = _inflater.inflate(R.layout.fragment_main_item, null); Story s = lists.get(position); if (s != null) { TextView item_title = (TextView) view.findViewById(R.id.item_title); item_title.setText(s.getTitle()); SimpleDraweeView draweeView = (SimpleDraweeView) view.findViewById(R.id.item_image); List<String> imgs = s.getImages(); if (imgs != null && imgs.size() > 0) { Uri uri = Uri.parse(imgs.get(0)); draweeView.setImageURI(uri); } else { draweeView.setVisibility(View.GONE); } view.setOnClickListener(new onItemClickListener(s.getId())); } return view; }
public void onClearCacheClick(View view) { next(); image.setImageResource(android.R.color.white); webView.loadUrl(""); // so that previous image would not show on next load webView.setVisibility(View.GONE); frescoImage.setVisibility(View.GONE); image.setVisibility(View.VISIBLE); webCheck.setChecked(false); glideCheck.setChecked(false); frescoCheck.setChecked(false); text.setText("Clearing cache"); imageUtil.clearCache( new Runnable() { @Override public void run() { Toast.makeText(GifActivity.this, "CacheCleared", Toast.LENGTH_SHORT).show(); text.setText("Select service"); } }); }
private void loadGif(ImageServiceProvider provider) { loadingSpinner.setVisibility(View.VISIBLE); webView.setVisibility(View.GONE); image.setImageResource(android.R.color.white); text.setText("Loading GIF with: " + provider.toString()); QLog.d(TAG, "Start GIF load: %s", gifArray[index]); final long start = System.currentTimeMillis(); switch (provider) { default: case GLIDE: frescoImage.setVisibility(View.GONE); image.setVisibility(View.VISIBLE); Glide.with(this) .load(gifArray[index]) .asGif() .crossFade() .listener( new RequestListener<String, GifDrawable>() { @Override public boolean onException( Exception e, String model, Target<GifDrawable> target, boolean isFirstResource) { QLog.e(e, TAG, "Glide onException"); loadingSpinner.setVisibility(View.GONE); text.setText("Glide load error"); return false; } @Override public boolean onResourceReady( GifDrawable resource, String model, Target<GifDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) { int time = (int) (System.currentTimeMillis() - start); QLog.i(TAG, "Glide image load ready in[%dms]", time); loadingSpinner.setVisibility(View.GONE); text.setText(String.format("Glide image ready in[%dms]", time)); return false; } }) .into(image); break; case FRESCO: frescoImage.setVisibility(View.VISIBLE); image.setVisibility(View.GONE); ControllerListener listener = new BaseControllerListener<ImageInfo>() { @Override public void onFailure(String id, Throwable throwable) { super.onFailure(id, throwable); QLog.w(throwable, TAG, "Fresco onFailure"); loadingSpinner.setVisibility(View.GONE); text.setText("Fresco onFailure"); } @Override public void onFinalImageSet(String id, ImageInfo imageInfo, Animatable animatable) { super.onFinalImageSet(id, imageInfo, animatable); int time = (int) (System.currentTimeMillis() - start); QLog.i(TAG, "Fresco image load ready in[%dms]", time); loadingSpinner.setVisibility(View.GONE); text.setText(String.format("Fresco image ready in[%dms]", time)); } }; Uri uri = Uri.parse(gifArray[index]); DraweeController controller = Fresco.newDraweeControllerBuilder() .setUri(uri) .setControllerListener(listener) .setAutoPlayAnimations(true) .build(); frescoImage.setController(controller); break; } }