diff --git a/app/src/main/java/ru/vtosters/lite/hooks/PhotoViewer.java b/app/src/main/java/ru/vtosters/lite/hooks/PhotoViewer.java index 483f4e136..773c3392d 100644 --- a/app/src/main/java/ru/vtosters/lite/hooks/PhotoViewer.java +++ b/app/src/main/java/ru/vtosters/lite/hooks/PhotoViewer.java @@ -67,7 +67,19 @@ public class PhotoViewer { : new RecoloredDrawable(AndroidUtils.getGlobalContext().getDrawable(R.drawable.ic_menu_search_outline_28), ThemesUtils.getAccentColor()), false, () -> { - searchPhoto(getUrlFromPhotoAttachment((PhotoAttachment) attachment)); + if (attachment instanceof PhotoAttachment) { + searchPhoto(getUrlFromPhotoAttachment((PhotoAttachment) attachment)); + } else if (attachment instanceof DocumentAttachment) { + var documentAttachment = (DocumentAttachment) attachment; + if (documentAttachment.J != null) + try { + searchPhoto(getUrlFromDocumentAttachment(documentAttachment)); + } catch (Exception e) { + ToastUtils.a(getString("photo_get_error")); + } + else + ToastUtils.a(getString("photo_get_error")); + } return null; } ); @@ -77,7 +89,19 @@ public class PhotoViewer { : new RecoloredDrawable(AndroidUtils.getGlobalContext().getDrawable(R.drawable.ic_copy_outline_28), Color.WHITE), false, () -> { - copyPhotoUrl(getUrlFromPhotoAttachment((PhotoAttachment) attachment)); + if (attachment instanceof PhotoAttachment) { + copyPhotoUrl(getUrlFromPhotoAttachment((PhotoAttachment) attachment)); + } else if (attachment instanceof DocumentAttachment) { + var documentAttachment = (DocumentAttachment) attachment; + if (documentAttachment.J != null) + try { + copyPhotoUrl(getUrlFromDocumentAttachment(documentAttachment)); + } catch (Exception e) { + ToastUtils.a(getString("photo_get_error")); + } + else + ToastUtils.a(getString("photo_get_error")); + } return null; } ); @@ -93,7 +117,11 @@ public class PhotoViewer { } else if (attachment instanceof DocumentAttachment) { var documentAttachment = (DocumentAttachment) attachment; if (documentAttachment.J != null) - openUrl(getUrlFromDocumentAttachment(documentAttachment)); + try { + openUrl(getUrlFromDocumentAttachment(documentAttachment)); + } catch (Exception e) { + ToastUtils.a(getString("photo_get_error")); + } else ToastUtils.a(getString("photo_get_error")); } @@ -103,8 +131,11 @@ public class PhotoViewer { } private static String getUrlFromDocumentAttachment(DocumentAttachment attachment) { - var imageSizes = attachment.J.t1(); - return getUrlFromImageSizeList(imageSizes); + List imageSizes = null; + if (attachment.J != null) { + imageSizes = attachment.J.t1(); + } + return getUrlFromImageSizeList(imageSizes != null ? imageSizes : null); } private static String getUrlFromPhotoAttachment(PhotoAttachment attachment) { diff --git a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java index 5e07f38a2..a8616cd16 100644 --- a/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java +++ b/app/src/main/java/ru/vtosters/lite/ui/wallpapers/WallpapersHooks.java @@ -34,27 +34,6 @@ public class WallpapersHooks { return mWallpaperFile == null ? mWallpaperFile = new File(getGlobalContext().getFilesDir(), "wallpaper.png") : mWallpaperFile; } - public static File compressFile(File file) { // TODO rewrite compress file - Bitmap bitmap = BitmapFactory.decodeFile(file.getAbsolutePath()); - File compressedFile = new File(file.getParent(), file.getName()); - OutputStream out = null; - try { - out = new FileOutputStream(compressedFile); - bitmap.compress(Bitmap.CompressFormat.PNG, 95, out); - } catch (Exception e) { - e.printStackTrace(); - } finally { - try { - if (out != null) { - out.close(); - } - } catch (IOException e) { - e.printStackTrace(); - } - } - return compressedFile; - } - public static void setBg(View view) { if (getWallpaper() != null) { ((ImageView) view).setImageDrawable(getWallpaper()); // set picture to background