Page MenuHomePhabricator

OfflineManager fails to find main page for ZIM
Closed, ResolvedPublic1 Estimated Story Points

Description

Steps to reproduce

  1. Download English WikiMed (novid) ZIM
  2. Navigate to Offline Library
  3. Click the entry for the English WikiMed (novid) file to go to the detail screen
  4. Click the main page button

Expected results

Main page for the article pack is loaded

Actual results

"An unknown error occurred" snackbar fires.

There seems to be a problem with the Compilation.pathNameMatchesUri method; it returns false even when file.getName() and otherUri.getLastPathSegment() return "wikipedia_en_medicine_novid.zim."

Stack trace

09-05 10:47:51.720 7983-7983/org.wikipedia.dev E/org.wikipedia.offline.CompilationDetailFragment: onMainPageClick():126: 
                                                                                                  java.io.IOException: No matching compilation found on disk.
                                                                                                      at org.wikipedia.offline.OfflineManager.getMainPageTitle(OfflineManager.java:180)
                                                                                                      at org.wikipedia.offline.CompilationDetailFragment.onMainPageClick(CompilationDetailFragment.java:120)
                                                                                                      at org.wikipedia.offline.CompilationDetailFragment_ViewBinding$2.doClick(CompilationDetailFragment_ViewBinding.java:54)
                                                                                                      at butterknife.internal.DebouncingOnClickListener.onClick(DebouncingOnClickListener.java:22)
                                                                                                      at android.view.View.performClick(View.java:5637)
                                                                                                      at android.view.View$PerformClick.run(View.java:22429)
                                                                                                      at android.os.Handler.handleCallback(Handler.java:751)
                                                                                                      at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                                                      at android.os.Looper.loop(Looper.java:154)
                                                                                                      at android.app.ActivityThread.main(ActivityThread.java:6121)
                                                                                                      at java.lang.reflect.Method.invoke(Native Method)
                                                                                                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
                                                                                                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)

Environments observed

App version:
Android OS versions:
Device model:
Device language:

Event Timeline

Change 376056 had a related patch set uploaded (by Dbrant; owner: Dbrant):
[apps/android/wikipedia@master] Improve fetching of Main Page title from packs.

https://gerrit.wikimedia.org/r/376056

Change 376056 merged by jenkins-bot:
[apps/android/wikipedia@master] Improve fetching of Main Page title from packs.

https://gerrit.wikimedia.org/r/376056

ABorbaWMF subscribed.

Tested on a Nexus 4 with Android 5.1 and a Pixel with Android 7.1.1 on 2.6.203-alpha-2017-08-29

Looks good to me. No errors.