From 83e64c2dda2f9484640c74fe02b120db534115bc Mon Sep 17 00:00:00 2001 From: stom79 Date: Wed, 29 Nov 2017 15:29:23 +0100 Subject: [PATCH] Removes support for profile pictures which are not loaded as it is due to mastodon.social server --- .../activities/ShowAccountActivity.java | 16 +-- .../mastodon/client/HttpsConnection.java | 98 ------------------- .../drawers/NotificationsListAdapter.java | 19 +--- .../mastodon/drawers/StatusListAdapter.java | 48 +-------- 4 files changed, 5 insertions(+), 176 deletions(-) diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java index de76e2827..8a8fa5fec 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java @@ -642,21 +642,7 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi } - imageLoader.displayImage(account.getAvatar(), account_pp, options, new ImageLoadingListener() { - @Override - public void onLoadingStarted(String imageUri, View view) { - } - @Override - public void onLoadingFailed(String imageUri, View view, FailReason failReason) { - new HttpsConnection(ShowAccountActivity.this).download(account.getAvatar(), account_pp, options); - } - @Override - public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { - } - @Override - public void onLoadingCancelled(String imageUri, View view) { - } - }); + imageLoader.displayImage(account.getAvatar(), account_pp, options); } diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/client/HttpsConnection.java b/app/src/main/java/fr/gouv/etalab/mastodon/client/HttpsConnection.java index 96d506819..9d899fea4 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/client/HttpsConnection.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/client/HttpsConnection.java @@ -272,104 +272,6 @@ public class HttpsConnection { } - public void download(final String downloadUrl, final ImageView imageView, final DisplayImageOptions options) { - - final ImageLoader imageLoader = ImageLoader.getInstance(); - File cacheDir = new File(context.getCacheDir(), context.getString(R.string.app_name)); - ImageLoaderConfiguration configImg = new ImageLoaderConfiguration.Builder(context) - .imageDownloader(new PatchBaseImageDownloader(context)) - .threadPoolSize(5) - .threadPriority(Thread.MIN_PRIORITY + 3) - .denyCacheImageMultipleSizesInMemory() - .diskCache(new UnlimitedDiskCache(cacheDir)) - .build(); - if( !imageLoader.isInited()) - imageLoader.init(configImg); - final SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE); - String cache = sharedpreferences.getString(Helper.SET_PICTURE_URL + Helper.md5(downloadUrl), null); - - if( cache != null){ - String[] val = cache.split("\\|"); - if( val.length == 2){ - Date date = Helper.stringToDate(context, val[0]); - final String uri = val[1]; - Calendar cal = Calendar.getInstance(); - cal.setTime(new Date()); - cal.add(Calendar.DATE, -1); - Date dateBefore = cal.getTime(); - if( date.after(dateBefore)){ - imageLoader.displayImage(uri, imageView, options); - return; - } - } - } - new Thread(new Runnable() { - @Override - public void run() { - URL url; - try { - url = new URL(downloadUrl); - httpsURLConnection = (HttpsURLConnection) url.openConnection(); - httpsURLConnection.setRequestProperty("User-Agent", Helper.USER_AGENT); - // always check HTTP response code first - String fileName = ""; - String disposition = httpsURLConnection.getHeaderField("Content-Disposition"); - - if (disposition != null) { - // extracts file name from header field - int index = disposition.indexOf("filename="); - if (index > 0) { - fileName = disposition.substring(index + 10, - disposition.length() - 1); - } - } else { - // extracts file name from URL - fileName = downloadUrl.substring(downloadUrl.lastIndexOf("/") + 1, - downloadUrl.length()); - } - // opens input stream from the HTTP connection - InputStream inputStream; - if (httpsURLConnection.getResponseCode() == HttpURLConnection.HTTP_OK) { - inputStream = httpsURLConnection.getInputStream(); - }else{ - inputStream = httpsURLConnection.getErrorStream(); - } - File saveDir = context.getCacheDir(); - final String saveFilePath = saveDir + File.separator + fileName; - - // opens an output stream to save into file - FileOutputStream outputStream = new FileOutputStream(saveFilePath); - - int bytesRead; - byte[] buffer = new byte[CHUNK_SIZE]; - while ((bytesRead = inputStream.read(buffer)) != -1) { - outputStream.write(buffer, 0, bytesRead); - } - if(context instanceof AppCompatActivity) - ((AppCompatActivity)context).runOnUiThread(new Runnable() { - public void run() { - imageLoader.displayImage("file://"+saveFilePath, imageView, options); - }}); - SharedPreferences.Editor editor = sharedpreferences.edit(); - editor.putString(Helper.SET_PICTURE_URL + Helper.md5(downloadUrl), Helper.dateToString(context, new Date() )+ "|" +"file://"+saveFilePath); - editor.apply(); - outputStream.close(); - inputStream.close(); - httpsURLConnection.disconnect(); - } catch (Exception e) { - Error error = new Error(); - error.setError(context.getString(R.string.toast_error)); - if(httpsURLConnection != null) - httpsURLConnection.disconnect(); - e.printStackTrace(); - } - - } - }).start(); - - - } - public void upload(final InputStream inputStream, final OnRetrieveAttachmentInterface listener) { new Thread(new Runnable() { diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java index 28b7ebc22..b52004aca 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/NotificationsListAdapter.java @@ -50,9 +50,7 @@ import android.widget.Toast; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; -import com.nostra13.universalimageloader.core.assist.FailReason; import com.nostra13.universalimageloader.core.display.SimpleBitmapDisplayer; -import com.nostra13.universalimageloader.core.listener.ImageLoadingListener; import java.io.File; import java.io.FileOutputStream; @@ -72,7 +70,6 @@ import fr.gouv.etalab.mastodon.client.APIResponse; import fr.gouv.etalab.mastodon.client.Entities.Attachment; import fr.gouv.etalab.mastodon.client.Entities.Emojis; import fr.gouv.etalab.mastodon.client.Entities.Error; -import fr.gouv.etalab.mastodon.client.HttpsConnection; import fr.gouv.etalab.mastodon.helper.CrossActions; import fr.gouv.etalab.mastodon.interfaces.OnPostActionInterface; import fr.gouv.etalab.mastodon.interfaces.OnPostNotificationsActionInterface; @@ -684,21 +681,7 @@ public class NotificationsListAdapter extends RecyclerView.Adapter implements On } //Profile picture - imageLoader.displayImage(notification.getAccount().getAvatar(), holder.notification_account_profile, options, new ImageLoadingListener() { - @Override - public void onLoadingStarted(String imageUri, View view) { - } - @Override - public void onLoadingFailed(String imageUri, View view, FailReason failReason) { - new HttpsConnection(context).download(notification.getAccount().getAvatar(), holder.notification_account_profile, options); - } - @Override - public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { - } - @Override - public void onLoadingCancelled(String imageUri, View view) { - } - }); + imageLoader.displayImage(notification.getAccount().getAvatar(), holder.notification_account_profile, options); } diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java index 68b6c4352..74e8f9eb9 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/StatusListAdapter.java @@ -613,55 +613,13 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct if( status.getReblog() != null) { - imageLoader.displayImage(ppurl, holder.status_account_profile_boost, options, new ImageLoadingListener() { - @Override - public void onLoadingStarted(String imageUri, View view) { - } - @Override - public void onLoadingFailed(String imageUri, View view, FailReason failReason) { - new HttpsConnection(context).download(ppurl, holder.status_account_profile_boost, options); - } - @Override - public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { - } - @Override - public void onLoadingCancelled(String imageUri, View view) { - } - }); - imageLoader.displayImage(status.getAccount().getAvatar(), holder.status_account_profile_boost_by, options, new ImageLoadingListener() { - @Override - public void onLoadingStarted(String imageUri, View view) { - } - @Override - public void onLoadingFailed(String imageUri, View view, FailReason failReason) { - new HttpsConnection(context).download(status.getAccount().getAvatar(), holder.status_account_profile_boost_by, options); - } - @Override - public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { - } - @Override - public void onLoadingCancelled(String imageUri, View view) { - } - }); + imageLoader.displayImage(ppurl, holder.status_account_profile_boost, options); + imageLoader.displayImage(status.getAccount().getAvatar(), holder.status_account_profile_boost_by, options); holder.status_account_profile_boost.setVisibility(View.VISIBLE); holder.status_account_profile_boost_by.setVisibility(View.VISIBLE); holder.status_account_profile.setVisibility(View.GONE); }else{ - imageLoader.displayImage(ppurl, holder.status_account_profile, options, new ImageLoadingListener() { - @Override - public void onLoadingStarted(String imageUri, View view) { - } - @Override - public void onLoadingFailed(String imageUri, View view, FailReason failReason) { - new HttpsConnection(context).download(ppurl, holder.status_account_profile, options); - } - @Override - public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) { - } - @Override - public void onLoadingCancelled(String imageUri, View view) { - } - }); + imageLoader.displayImage(ppurl, holder.status_account_profile, options); holder.status_account_profile_boost.setVisibility(View.GONE); holder.status_account_profile_boost_by.setVisibility(View.GONE); holder.status_account_profile.setVisibility(View.VISIBLE);