Page MenuHomePhabricator

[User] [API 19] Can't save images
Closed, ResolvedPublic

Description

Description

Steps to reproduce

  1. Go to the orbit article.
  2. Tap the lead image.
  3. Save the image.

Expected results

Image saves to device like on API 22.

Actual results

Snackbar with the message "An unknown error occurred." is displayed.

Environments observed

App version: 2.1.132-beta-2015-10-23
Android OS versions: API 19
Device model: AOSP Nexus S emulator
Device language: English

Stacktrace

           MediaStore  E  Failed to insert image
                       E  java.io.FileNotFoundException: No such file or directory
                       E      at android.database.DatabaseUtils.readExceptionWithFileNotFoundExceptionFromParcel(DatabaseUtils.java:146)
                       E      at android.content.ContentProviderProxy.openAssetFile(ContentProviderNative.java:618)
                       E      at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:922)
                       E      at android.content.ContentResolver.openOutputStream(ContentResolver.java:669)
                       E      at android.content.ContentResolver.openOutputStream(ContentResolver.java:645)
                       E      at android.provider.MediaStore$Images$Media.insertImage(MediaStore.java:902)
                       E      at org.wikipedia.page.gallery.GalleryItemFragment$7.performTask(GalleryItemFragment.java:426)
                       E      at org.wikipedia.page.gallery.GalleryItemFragment$7.performTask(GalleryItemFragment.java:423)
                       E      at org.wikipedia.concurrency.SaneAsyncTask$BackingAsyncTask.doInBackground(SaneAsyncTask.java:98)
                       E      at org.wikipedia.concurrency.SaneAsyncTask$BackingAsyncTask.doInBackground(SaneAsyncTask.java:92)
                       E      at android.os.AsyncTask$2.call(AsyncTask.java:288)
                       E      at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                       E      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
                       E      at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                       E      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
                       E      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
                       E      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
                       E      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
                       E      at java.lang.Thread.run(Thread.java:841)
Task$BackingAsyncTask  D  doInBackground():100: null
                       D  java.lang.RuntimeException: Failed to import image to media collection
                       D      at org.wikipedia.page.gallery.GalleryItemFragment$7.performTask(GalleryItemFragment.java:430)
                       D      at org.wikipedia.page.gallery.GalleryItemFragment$7.performTask(GalleryItemFragment.java:423)
                       D      at org.wikipedia.concurrency.SaneAsyncTask$BackingAsyncTask.doInBackground(SaneAsyncTask.java:98)
                       D      at org.wikipedia.concurrency.SaneAsyncTask$BackingAsyncTask.doInBackground(SaneAsyncTask.java:92)
                       D      at android.os.AsyncTask$2.call(AsyncTask.java:288)
                       D      at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                       D      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
                       D      at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                       D      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:152)
                       D      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:265)
                       D      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
                       D      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
                       D      at java.lang.Thread.run(Thread.java:841)

Event Timeline

Niedzielski raised the priority of this task from to High.
Niedzielski updated the task description. (Show Details)
Niedzielski subscribed.

Does not happen anymore - checked with 2.1.140-alpha-2016-02-04 on Nexus 5 (Android 5.1.1)