aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/HtmlTextView/src/org/sufficientlysecure/htmltextview/UrlImageGetter.java
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/HtmlTextView/src/org/sufficientlysecure/htmltextview/UrlImageGetter.java')
-rw-r--r--libraries/HtmlTextView/src/org/sufficientlysecure/htmltextview/UrlImageGetter.java128
1 files changed, 0 insertions, 128 deletions
diff --git a/libraries/HtmlTextView/src/org/sufficientlysecure/htmltextview/UrlImageGetter.java b/libraries/HtmlTextView/src/org/sufficientlysecure/htmltextview/UrlImageGetter.java
deleted file mode 100644
index e4fc41c05..000000000
--- a/libraries/HtmlTextView/src/org/sufficientlysecure/htmltextview/UrlImageGetter.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (C) 2013 Antarix Tandon
- *
- * 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 org.sufficientlysecure.htmltextview;
-
-import android.content.Context;
-import android.graphics.Canvas;
-import android.graphics.drawable.BitmapDrawable;
-import android.graphics.drawable.Drawable;
-import android.os.AsyncTask;
-import android.text.Html.ImageGetter;
-import android.view.View;
-
-import org.apache.http.HttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.impl.client.DefaultHttpClient;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-
-public class UrlImageGetter implements ImageGetter {
- Context c;
- View container;
-
- /**
- * Construct the URLImageParser which will execute AsyncTask and refresh the container
- *
- * @param t
- * @param c
- */
- public UrlImageGetter(View t, Context c) {
- this.c = c;
- this.container = t;
- }
-
- public Drawable getDrawable(String source) {
- UrlDrawable urlDrawable = new UrlDrawable();
-
- // get the actual source
- ImageGetterAsyncTask asyncTask = new ImageGetterAsyncTask(urlDrawable);
-
- asyncTask.execute(source);
-
- // return reference to URLDrawable where I will change with actual image from
- // the src tag
- return urlDrawable;
- }
-
- public class ImageGetterAsyncTask extends AsyncTask<String, Void, Drawable> {
- UrlDrawable urlDrawable;
-
- public ImageGetterAsyncTask(UrlDrawable d) {
- this.urlDrawable = d;
- }
-
- @Override
- protected Drawable doInBackground(String... params) {
- String source = params[0];
- return fetchDrawable(source);
- }
-
- @Override
- protected void onPostExecute(Drawable result) {
- // set the correct bound according to the result from HTTP call
- urlDrawable.setBounds(0, 0, 0 + result.getIntrinsicWidth(), 0 + result.getIntrinsicHeight());
-
- // change the reference of the current drawable to the result
- // from the HTTP call
- urlDrawable.drawable = result;
-
- // redraw the image by invalidating the container
- UrlImageGetter.this.container.invalidate();
- }
-
- /**
- * Get the Drawable from URL
- *
- * @param urlString
- * @return
- */
- public Drawable fetchDrawable(String urlString) {
- try {
- InputStream is = fetch(urlString);
- Drawable drawable = Drawable.createFromStream(is, "src");
- drawable.setBounds(0, 0, 0 + drawable.getIntrinsicWidth(), 0 + drawable.getIntrinsicHeight());
- return drawable;
- } catch (Exception e) {
- return null;
- }
- }
-
- private InputStream fetch(String urlString) throws MalformedURLException, IOException {
- DefaultHttpClient httpClient = new DefaultHttpClient();
- HttpGet request = new HttpGet(urlString);
- HttpResponse response = httpClient.execute(request);
- return response.getEntity().getContent();
- }
- }
-
- @SuppressWarnings("deprecation")
- public class UrlDrawable extends BitmapDrawable {
- // the drawable that you need to set, you could set the initial drawing
- // with the loading image if you need to
- protected Drawable drawable;
-
- @Override
- public void draw(Canvas canvas) {
- // override the draw to facilitate refresh function later
- if (drawable != null) {
- drawable.draw(canvas);
- }
- }
- }
-}