Giter Site home page Giter Site logo

lnreader-android's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lnreader-android's Issues

android 3.1 blank thumbnails when viewing novel illistrations

This one is a bit more involved I think, so I'll expand the logcat info below.
I cleared the cache, opened InfiniteStratos (happens on others as well), opened the first volume, told the app to download the Novel illustrations chapter via the context/long press menu. It downloaded the files. I opened the Novel Illustrations chapter and was presented with a grid where the images would be, but no thumbnails. Tapping on an individual frame starts a download of the large image, and the image is viewable.

the error I see in the log cat is:
09-26 16:59:07.162 E/InputQueue-JNI(6514): channel '4122e940 Panel:com.erakk.lnreader/com.erakk.lnreader.activity.DisplayImageActivity (client)' ~ Publisher closed input channel or an error occurred. events=0x8

full log cat:
09-26 16:58:22.879 I/ActivityManager(301): Start proc com.erakk.lnreader for activity com.erakk.lnreader/.activity.MainActivity: pid=6514 uid=10012 gids={3003, 1015}
09-26 16:58:23.089 D/WindowManager(301): call linkToDeath, this=Window{4118b8d0 com.erakk.lnreader/com.erakk.lnreader.activity.MainActivity paused=false}
09-26 16:58:25.821 D/WindowManager(301): call unlinkToDeath, this=Window{40dced10 Starting com.erakk.lnreader paused=false}
09-26 16:58:30.976 I/ActivityManager(301): Starting: Intent { cmp=com.erakk.lnreader/.activity.DisplayLightNovelListActivity (has extras) } from pid 6514
09-26 16:58:31.077 D/WindowManager(301): call linkToDeath, this=Window{41454a60 com.erakk.lnreader/com.erakk.lnreader.activity.DisplayLightNovelListActivity paused=false}
09-26 16:58:33.759 I/ActivityManager(301): Starting: Intent { cmp=com.erakk.lnreader/.activity.DisplayLightNovelDetailsActivity (has extras) } from pid 6514
09-26 16:58:33.979 D/WindowManager(301): call linkToDeath, this=Window{407014e8 com.erakk.lnreader/com.erakk.lnreader.activity.DisplayLightNovelDetailsActivity paused=false}
09-26 16:58:36.362 D/WindowManager(301): call unlinkToDeath, this=Window{407014e8 com.erakk.lnreader/com.erakk.lnreader.activity.DisplayLightNovelDetailsActivity paused=false}
09-26 16:58:37.703 I/ActivityManager(301): Starting: Intent { cmp=com.erakk.lnreader/.activity.DisplayLightNovelDetailsActivity (has extras) } from pid 6514
09-26 16:58:37.883 D/WindowManager(301): call linkToDeath, this=Window{40c851d8 com.erakk.lnreader/com.erakk.lnreader.activity.DisplayLightNovelDetailsActivity paused=false}
09-26 16:58:42.578 D/WindowManager(301): call linkToDeath, this=Window{411c9f98 AtchDlg:com.erakk.lnreader/com.erakk.lnreader.activity.DisplayLightNovelDetailsActivity paused=false}
09-26 16:58:44.360 D/WindowManager(301): call unlinkToDeath, this=Window{411c9f98 AtchDlg:com.erakk.lnreader/com.erakk.lnreader.activity.DisplayLightNovelDetailsActivity paused=false}
09-26 16:58:54.009 I/ActivityManager(301): Starting: Intent { cmp=com.erakk.lnreader/.activity.DisplayLightNovelContentActivity (has extras) } from pid 6514
09-26 16:58:54.259 D/WindowManager(301): call linkToDeath, this=Window{40b28b28 com.erakk.lnreader/com.erakk.lnreader.activity.DisplayLightNovelContentActivity paused=false}
09-26 16:58:56.892 I/ActivityManager(301): Starting: Intent { cmp=com.erakk.lnreader/.activity.DisplayImageActivity (has extras) } from pid 6514
09-26 16:58:57.012 D/class com.erakk.lnreader.helper.DBHelper(6514): Novel Illustrations
09-26 16:58:57.012 D/class com.erakk.lnreader.helper.DBHelper(6514): Updating: Novel Illustrations
09-26 16:58:57.012 D/SqliteDatabaseCpp(6514): dbopen(): path = /data/data/com.erakk.lnreader/databases/pages.db, flag = 6
09-26 16:58:57.012 D/SqliteDatabaseCpp(6514): dbopen(): path = /data/data/com.erakk.lnreader/databases/pages.db, flag = 6, file size = 662528
09-26 16:58:57.012 D/SqliteDatabaseCpp(6514): dbopen(): path = /data/data/com.erakk.lnreader/databases/pages.db, mode: delete, disk free size: 11198 M, handle: 0x385cf0
09-26 16:58:57.042 D/class com.erakk.lnreader.helper.DBHelper(6514): Page Model Update Affected Row: 1
09-26 16:58:57.042 D/class com.erakk.lnreader.helper.DBHelper(6514): Selecting Novel Content: IS:Volume1_Illustrations
09-26 16:58:57.052 D/class com.erakk.lnreader.helper.DBHelper(6514): Found: IS:Volume1_Illustrations id: 12
09-26 16:58:57.052 D/SqliteDatabaseCpp(6514): dbclose(): path = /data/data/com.erakk.lnreader/databases/pages.db, handle = 0x385cf0
09-26 16:58:57.052 D/SqliteDatabaseCpp(6514): dbopen(): path = /data/data/com.erakk.lnreader/databases/pages.db, flag = 6
09-26 16:58:57.052 D/SqliteDatabaseCpp(6514): dbopen(): path = /data/data/com.erakk.lnreader/databases/pages.db, flag = 6, file size = 662528
09-26 16:58:57.052 D/SqliteDatabaseCpp(6514): dbopen(): path = /data/data/com.erakk.lnreader/databases/pages.db, mode: delete, disk free size: 11198 M, handle: 0x385cf0
09-26 16:58:57.052 D/class com.erakk.lnreader.helper.DBHelper(6514): Novel Illustrations
09-26 16:58:57.052 D/class com.erakk.lnreader.helper.DBHelper(6514): Updating: Novel Illustrations
09-26 16:58:57.082 D/class com.erakk.lnreader.helper.DBHelper(6514): Page Model Update Affected Row: 1
09-26 16:58:57.092 D/SqliteDatabaseCpp(6514): dbclose(): path = /data/data/com.erakk.lnreader/databases/pages.db, handle = 0x385cf0
09-26 16:58:57.092 D/class com.erakk.lnreader.activity.DisplayLightNovelContentActivity(6514): Update Content: 0 0 1.0
09-26 16:58:57.122 D/class com.erakk.lnreader.activity.DisplayLightNovelContentActivity(6514): Pausing activity
09-26 16:58:57.222 D/ActivityManager(301): isSketcherDisabledInCurrentTask():false, ActivityRecord{41174be8 com.erakk.lnreader/.activity.MainActivity}
09-26 16:58:57.222 D/SqliteDatabaseCpp(6514): dbopen(): path = /data/data/com.erakk.lnreader/databases/pages.db, flag = 6
09-26 16:58:57.222 D/SqliteDatabaseCpp(6514): dbopen(): path = /data/data/com.erakk.lnreader/databases/pages.db, flag = 6, file size = 662528
09-26 16:58:57.222 D/SqliteDatabaseCpp(6514): dbopen(): path = /data/data/com.erakk.lnreader/databases/pages.db, mode: delete, disk free size: 11198 M, handle: 0x385cf0
09-26 16:58:57.232 D/ActivityManager(301): isSketcherDisabledInCurrentTask():false, ActivityRecord{41174be8 com.erakk.lnreader/.activity.MainActivity}
09-26 16:58:57.232 D/WindowManager(301): call linkToDeath, this=Window{40d9a0b0 com.erakk.lnreader/com.erakk.lnreader.activity.DisplayImageActivity paused=false}
09-26 16:58:57.252 D/class com.erakk.lnreader.helper.DBHelper(6514): Selecting Image: http://www.baka-tsuki.org/project/index.php?title=File:IS_v01_000b.jpg
09-26 16:58:57.262 D/class com.erakk.lnreader.helper.DBHelper(6514): Not Found Image: http://www.baka-tsuki.org/project/index.php?title=File:IS_v01_000b.jpg
09-26 16:58:57.272 D/class com.erakk.lnreader.dao.NovelsDao(6514): Image not found, might need to check by referer: http://www.baka-tsuki.org/project/index.php?title=File:IS_v01_000b.jpg
09-26 16:58:57.282 D/class com.erakk.lnreader.helper.DBHelper(6514): Selecting Image by Referer: http://www.baka-tsuki.org/project/index.php?title=File:IS_v01_000b.jpg
09-26 16:58:57.282 D/class com.erakk.lnreader.helper.DBHelper(6514): Not Found Image by Referer: http://www.baka-tsuki.org/project/index.php?title=File:IS_v01_000b.jpg
09-26 16:58:57.292 D/SqliteDatabaseCpp(6514): dbclose(): path = /data/data/com.erakk.lnreader/databases/pages.db, handle = 0x385cf0
09-26 16:58:57.302 D/class com.erakk.lnreader.dao.NovelsDao(6514): Image not found, getting data from internet: http://www.baka-tsuki.org/project/index.php?title=File:IS_v01_000b.jpg
09-26 16:58:57.632 I/ActivityManager(301): Displayed com.erakk.lnreader/.activity.DisplayImageActivity: +512ms
09-26 16:58:57.632 D/class com.erakk.lnreader.activity.DisplayLightNovelContentActivity(6514): Stopping activity
09-26 16:58:57.843 D/class com.erakk.lnreader.helper.DownloadFileTask(6514): Start Downloading: http://www.baka-tsuki.org/project/images/d/d6/IS_v01_000b.jpg
09-26 16:58:57.843 D/class com.erakk.lnreader.helper.DownloadFileTask(6514): Saving to: /mnt/sdcard/Android/data/com.erakk.lnreader/files/project/images/d/d6/IS_v01_000b.jpg
09-26 16:58:57.873 D/class com.erakk.lnreader.helper.DownloadFileTask(6514): Path to: /mnt/sdcard/Android/data/com.erakk.lnreader/files/project/images/d/d6
09-26 16:58:57.873 D/class com.erakk.lnreader.helper.DownloadFileTask(6514): Start downloading image: http://www.baka-tsuki.org/project/images/d/d6/IS_v01_000b.jpg
09-26 16:58:58.443 D/class com.erakk.lnreader.helper.DownloadFileTask(6514): Filesize: 281784
09-26 16:58:58.533 D/class com.erakk.lnreader.helper.DownloadFileTask(6514): Downloading image complete, saved to: /mnt/sdcard/Android/data/com.erakk.lnreader/files/project/images/d/d6/IS_v01_000b.jpg
09-26 16:58:58.533 D/class com.erakk.lnreader.helper.DownloadFileTask(6514): Complete Downloading: http://www.baka-tsuki.org/project/images/d/d6/IS_v01_000b.jpg
09-26 16:58:58.543 D/SqliteDatabaseCpp(6514): dbopen(): path = /data/data/com.erakk.lnreader/databases/pages.db, flag = 6
09-26 16:58:58.543 D/SqliteDatabaseCpp(6514): dbopen(): path = /data/data/com.erakk.lnreader/databases/pages.db, flag = 6, file size = 662528
09-26 16:58:58.543 D/SqliteDatabaseCpp(6514): dbopen(): path = /data/data/com.erakk.lnreader/databases/pages.db, mode: delete, disk free size: 11198 M, handle: 0x4322e8
09-26 16:58:58.573 D/class com.erakk.lnreader.helper.DBHelper(6514): Selecting Image: /project/images/d/d6/IS_v01_000b.jpg
09-26 16:58:58.573 D/class com.erakk.lnreader.helper.DBHelper(6514): Not Found Image: /project/images/d/d6/IS_v01_000b.jpg
09-26 16:58:58.573 D/class com.erakk.lnreader.helper.DBHelper(6514): Inserting Images: /project/images/d/d6/IS_v01_000b.jpg
09-26 16:58:58.704 D/class com.erakk.lnreader.helper.DBHelper(6514): Selecting Image: /project/images/d/d6/IS_v01_000b.jpg
09-26 16:58:58.704 D/class com.erakk.lnreader.helper.DBHelper(6514): Found: /project/images/d/d6/IS_v01_000b.jpg id: 7
09-26 16:58:58.704 D/class com.erakk.lnreader.helper.DBHelper(6514): Complete Insert Images: /project/images/d/d6/IS_v01_000b.jpg id: 7
09-26 16:58:58.704 D/SqliteDatabaseCpp(6514): dbclose(): path = /data/data/com.erakk.lnreader/databases/pages.db, handle = 0x4322e8
09-26 16:58:58.714 D/LoadImageTask(6514): Loading: file:////mnt/sdcard/Android/data/com.erakk.lnreader/files/project/images/d/d6/IS_v01_000b.jpg
09-26 16:59:02.968 D/ActivityManager(301): isSketcherDisabledInCurrentTask():false, ActivityRecord{41174be8 com.erakk.lnreader/.activity.MainActivity}
09-26 16:59:02.968 D/WindowManager(301): call linkToDeath, this=Window{4122e940 Panel:com.erakk.lnreader/com.erakk.lnreader.activity.DisplayImageActivity paused=false}
09-26 16:59:07.122 W/WindowManager(301): Force-removing child win Window{4122e940 Panel:com.erakk.lnreader/com.erakk.lnreader.activity.DisplayImageActivity paused=false} from container Window{40d9a0b0 com.erakk.lnreader/com.erakk.lnreader.activity.DisplayImageActivity paused=false}
09-26 16:59:07.122 D/WindowManager(301): call unlinkToDeath, this=Window{4122e940 Panel:com.erakk.lnreader/com.erakk.lnreader.activity.DisplayImageActivity paused=false}
09-26 16:59:07.132 D/WindowManager(301): call unlinkToDeath, this=Window{40d9a0b0 com.erakk.lnreader/com.erakk.lnreader.activity.DisplayImageActivity paused=false}
09-26 16:59:07.162 E/InputQueue-JNI(6514): channel '4122e940 Panel:com.erakk.lnreader/com.erakk.lnreader.activity.DisplayImageActivity (client)' ~ Publisher closed input channel or an error occurred. events=0x8
09-26 16:59:10.295 I/ActivityManager(301): Starting: Intent { cmp=com.erakk.lnreader/.activity.DisplayImageActivity (has extras) } from pid 6514
09-26 16:59:10.315 D/SqliteDatabaseCpp(6514): dbopen(): path = /data/data/com.erakk.lnreader/databases/pages.db, flag = 6

Null String @ Toast

Application version
1.1.3

java.lang.NullPointerException
at android.widget.Toast.<init>(Toast.java:92)
at android.widget.Toast.makeText(Toast.java:238)
at com.erakk.lnreader.fragment.DisplayLightNovelDetailsFragment.downloadListSetup(DisplayLightNovelDetailsFragment.java:367)
at com.erakk.lnreader.task.DownloadNovelContentTask.onPostExecute(DownloadNovelContentTask.java:82)
at com.erakk.lnreader.task.DownloadNovelContentTask.onPostExecute(DownloadNovelContentTask.java:1)
at android.os.AsyncTask.finish(AsyncTask.java:631)
at android.os.AsyncTask.access$600(AsyncTask.java:177)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)

Bug on baka reader for andriond 4.0.3

To start things off, i can't express in words how much i love and appreciate the work you guys have put into translating and making your works available to us grateful fans.

I found a bug where when you zoom into the text of a volume or chapter you are reading and click the lock or home button, when you return to the reader, the page is randomized, meaning it is not at the place i left off. This does not occur if you are not zoomed in.

Also, when you click download all chapters, the chapters do not get saved. I noticed this when i couldn't log onto Wi-fi and couldn't access the pages that was supposed to have downloaded. You also cannot access content from the reader when you are not connected to wifi despite having the internet that you can use with the phone when wifi is disabled. It was easier to just go to the web page and read from there.

Network Error Issue

If the system turns off the Internet connection even for a second while we were downloading anything it will inform us about finished download and throw network error;

class java.lang.Exception: No Network Connectifity

Will this be fixed in future?

FC when opening downloaded chapter - android 3.1

Hello again,
I updated to the latest LNReader-signed-nandaka.apk (0d3228f) and it opened. I was able to make changes to settings, browse series/titles. I downloaded a volume and attempted to open a chapter (Campione vol7 ch 5, it also happens with other chapters) and got an FC dropping me back to the volume/chapter selection screen. Here is the logcat from the event. If you need more info, please let me know.
Thanks.

D/WindowManager( 300): call linkToDeath, this=Window{40b9a128 Panel:com.erakk.lnreader/com.erakk.lnreader.activity.DisplayLightNovelContentActivity paused=false}
E/AndroidRuntime( 1350): FATAL EXCEPTION: main
E/AndroidRuntime( 1350): java.lang.IllegalAccessError: tried to access method android.webkit.WebView.setScrollY:(Landroid/webkit/WebView;Landroid/graphics/Picture;)V from class com.erakk.lnreader.activity.DisplayLightNovelContentActivity$LoadNovelContentTask$1
E/AndroidRuntime( 1350): at com.erakk.lnreader.activity.DisplayLightNovelContentActivity$LoadNovelContentTask$1.onNewPicture(DisplayLightNovelContentActivity.java:350)
E/AndroidRuntime( 1350): at android.webkit.WebView$PrivateHandler.handleMessage(WebView.java:8988)
E/AndroidRuntime( 1350): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 1350): at android.os.Looper.loop(Looper.java:152)
E/AndroidRuntime( 1350): at android.app.ActivityThread.main(ActivityThread.java:4606)
E/AndroidRuntime( 1350): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 1350): at java.lang.reflect.Method.invoke(Method.java:491)
E/AndroidRuntime( 1350): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
E/AndroidRuntime( 1350): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
E/AndroidRuntime( 1350): at dalvik.system.NativeStart.main(Native Method)
W/ActivityManager( 300): Force finishing activity com.erakk.lnreader/.activity.DisplayLightNovelContentActivity
D/WindowManager( 300): call linkToDeath, this=Window{40ba7ad0 Sorry! paused=false}

Infinite Loading for Empty Watch List

The Baka-Tsuki forum won't give me instant replies since I have to have my comments moderated (ugh, how annoying), so I guess this can serve as my take on this issue:

Quote from Erakk:

"because of an Android SDK bug (latest release), opening the watchlist while its empty may caue the loading to hang up. I say this because it wasn't happening before, but i still have to prove that it is solely the SDK's fault.
Fix: The watchlist itsel wont "Hangup". it just never gets the result it expected. Just keep it with some novels watched =D. If you get into the list and nothing happens, touching outside the "loading" dialog will cancel it, then just go back."

I confirmed this (before it was posted, ran into the bug) this morning.

    @Override
protected AsyncTaskResult<ArrayList<PageModel>> doInBackground(Void... arg0) {
// different thread from UI
try {
if (onlyWatched) {
publishProgress(new CallbackEventData("Loading Watched List"));
return new AsyncTaskResult<ArrayList<PageModel>>(NovelsDao.getInstance().getWatchedNovel());
}
else {
if(refreshOnly) {
publishProgress(new CallbackEventData("Refreshing Novel List"));
return new AsyncTaskResult<ArrayList<PageModel>>(NovelsDao.getInstance().getNovelsFromInternet(this));
}
else {
publishProgress(new CallbackEventData("Loading Novel List"));
return new AsyncTaskResult<ArrayList<PageModel>>(NovelsDao.getInstance().getNovels(this, alphOrder));
}
}
} catch (Exception e) {
Log.e(TAG, "Error when getting novel list: " + e.getMessage(), e);
return new AsyncTaskResult<ArrayList<PageModel>>(e);
}
}

My personal opinion from a quick investigation is that this code is probably at fault:

return new AsyncTaskResult<ArrayList<PageModel>>(e);

That can't be right, and I'm suspecting theres a silent exception thrown (probably caught somewhere) when it sends an Exception instead of an ArrayList. As a result, it exists the catch block by means of Exception, hence the catch block is pretty much meaningless here.

Perhaps returning an empty ArrayList would fix the issue, but it would be better not to enter this catch block in the first place.

No ability to debug at the moment, though, so can't provide much further input on this matter.

java.lang.NullPointerException in com.erakk.lnreader.activity.DisplaySettingsActivity.initializeActionBar

Taken from ANR on dev console

version 1.1.6
Iconia Tab A100 (VanGogh) (vangogh): crashed when opening app settings
HTC One (m7wls): Can not open update settings
Galaxy Tab 8.9 (GT-P7300)
Galaxy Tab 7.0 Plus (GT-P6210)

java.lang.NullPointerException
at com.erakk.lnreader.activity.DisplaySettingsActivity.initializeActionBar(DisplaySettingsActivity.java:86)
at com.erakk.lnreader.activity.DisplaySettingsActivity.onPreferenceTreeClick(DisplaySettingsActivity.java:66)
at android.preference.Preference.performClick(Preference.java:933)
at android.preference.PreferenceScreen.onItemClick(PreferenceScreen.java:196)
at android.widget.AdapterView.performItemClick(AdapterView.java:282)
at android.widget.AbsListView.performItemClick(AbsListView.java:1037)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:2449)
at android.widget.AbsListView$1.run(AbsListView.java:3073)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:132)
at android.app.ActivityThread.main(ActivityThread.java:4123)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:491)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
at dalvik.system.NativeStart.main(Native Method)

Add/Remove from watch list affects wrong series.

Add/Remove from watch list affects wrong series.

Attempting to add Accel World to Watch list added 7 Nights, and attempting to add Boku wa Tomodachi ga sukunai added Asura Cryin'

  • API Level: 16 (Jelly Bean, Android 4.1)
  • Device: Sony Xperia Arc
  • Date: 15th of September, (16:40 UTC)

Improved text presentation

I'd greatly prefer to read light novels in a paginated format with justified text. Scrolling and ragged right text is just not as easy to read.

Keep colors if changed

When reading a page and changing to the custom colors (Toggle Colors), the next time you open a DisplayLightNovelContentActivity after it was destroyed, it's back to the default colors, so you have to toggle colors each time.

Edit: I'm using the version from the market (BakaReader), haven't tried it with the newest version on here.

Include teaser projects

I made a PoC that would allow teaser projects to be included in the novel list. It is untested since I don't have a development environment.

Teaser projects are listed at:
http://www.baka-tsuki.org/project/index.php?title=Category:Teasers

The encompassing id is #mw-pages and the novels are listed in <li> tags, so it is general compatible with the parsing of the sidebar.

milki/LNReader-Android@864d2a27a0ff68a045c97ec4a06ad211f9c19ea5

Broken:Resume Novel, Bookmark, Load Content on Last position

Android Version: Android 4.0.4(ICS)
App ver: 1.1.12
Problem:

  1. Resume Novel partially broken - resumes novel but last position don't work
  2. Bookmark - don't work at all
  3. Load Content on Last position - don't work anymore
  • found posts saying they have same problem(baka-tsuki,playstore)
  • log messages displayed successful content loading. SCROLL_EVENTs working. except for these error lines:
    11-29 21:39:25.639: E/chromium(15034): external/chromium/net/disk_cache/stat_hub.cc:213: [1129/213925:ERROR:stat_hub.cc(213)] StatHub::Init - App com.erakk.lnreader isn't supported.
    11-29 21:39:25.639: E/chromium(15034): external/chromium/net/disk_cache/stat_hub.cc:213: [1129/213925:ERROR:stat_hub.cc(213)] StatHub::Init - App com.erakk.lnreader isn't supported.
  • tried inserting

wv.setScrollX(content.getLastXScroll());
wv.setScrollY(content.getLastYScroll());

in DisplayLightNovelContentActivity.java just for the heck of it but didn't work.

NOTE: 1.1.12 beta3 - Bookmark still worked, Resume/Last pos. loading didn't
NOTE2: Can't seem to trace what version resume/last pos. loading broke, but I think started breaking on KitKat coding updates

EDIT: 1.1.12 beta3 - for some reason idk, resume/last position loading works when I open bookmarks menu and pressing "back" button, reloading the chapter window.

Crash when reading PREVIEW Script

LNReader crash when reading chapter flagged as preview script.
for instance when reading Zero no Tsukaima vol 3 chapter 1 and vol 3 chapter 3

the symptom is like a memory leak because when the LNReader crash and I close it. all my icon and home screen will need sometime to reload.

Producing the crash.

  • Read a preview script for around 5-7 minutes

Device.
LT18i Xperia Arc S
Android version 4.0.4
Firmware 4.1.B.0.587

LNReader version 20121014

TLS Support

Baka-Tsuki.org recently started supporting the HTTPS protocol. Can we have an option to enable TLS support in the app to pull the data over HTTPS.

FC When attempting to do anything on a Samsung GT-S5570I

I can open the app normally, but when I attempt to change a setting and hit the back button, I get a forced closure of the app along with the error:

Sorry! The application LNReader (process com.erakk.Lnreader) has stopped unexpectedly. Please try again. Then I have to choose force close.

The same thing happens if I attempt to look at the watch list.

When I try bring up the novel list, the same thing occurs.

I downloaded and installed logcat recorder to my phone but I am unsure of what I am looking for. Attempts to bring up anything with LNReader in it give me a lot of results and I'm not sure which is relevant. Anything you can tell me to do that will help solve this problem, I will do to the best of my ability.

Only last updated novel is notified

I am running on a Nexus 4 stock and the latest reader from the play store. I have about 30 novels in my watch list. When I run the update(manually or automatically) only the last novel to get updates notifies. I checked through the code real quick, and I believe line 266 of UpdateService.java may have an issue.

It looks like you are declaring the variable updates outside the loop, and then inside the loop assigning a new value instead of adding to what's already there. Pardon if this is incorrect, but I did not look at the code too hard.

Changing the order of information in update notification

My phone's screen is quite thin, so the notifications for me are ambiguous and tell me little more than the title of the novel being updated.
Currently the pattern for update notification message is "-Novel title- -Chapter- -Volume-". I would suggest changing that to "-Novel title- -Volume- -Chapter-", for it seems a more logical choice and would not require tilting the screen (and entering an app that allows that first) nor loading the updated chapter. Especially if the latter doesn't always help - if by chance I have already read the updated chapter, I would recognize it, but if I have not - I will end up downloading a chapter from some next volume and marking it as read. As stated in my other issue, deleting it is simply impossible if I somehow want to read it at some point.

TTS?

If I'm allowed to post an enhancement here....(it's more direct than emailing, which is why I'd put it here)
I'd suggest to add a text to speech option, so we ordinary users can listen to our LNs too.

Thanks for reading.

~Guppy0130

TimeoutException and RemoteException

I think one reason why this apps is always crashing has something to do with this Exception:

06-25 05:17:17.094: E/AndroidRuntime(3724): java.util.concurrent.TimeoutException: com.android.internal.os.BinderInternal$GcWatcher.finalize() timed out after 10 seconds
06-25 05:17:17.094: E/AndroidRuntime(3724): at java.lang.Object.wait(Native Method)
06-25 05:17:17.094: E/AndroidRuntime(3724): at java.lang.Object.wait(Object.java:401)
06-25 05:17:17.094: E/AndroidRuntime(3724): at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102)
06-25 05:17:17.094: E/AndroidRuntime(3724): at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73)
06-25 05:17:17.094: E/AndroidRuntime(3724): at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:170)
06-25 05:17:17.094: E/AndroidRuntime(3724): at java.lang.Thread.run(Thread.java:856)
06-25 05:17:17.104: W/ActivityManager(1202): Force finishing activity com.erakk.lnreader/.activity.DisplayLightNovelContentActivity
06-25 05:17:21.236: I/Process(3724): Sending signal. PID: 3724 SIG: 9
06-25 05:17:21.277: I/ActivityManager(1202): Process com.erakk.lnreader (pid 3724) has died.
06-25 05:17:21.315: I/WindowState(1202): WIN DEATH: Window{b5218518 u0 com.erakk.lnreader/com.erakk.lnreader.activity.MainActivity}
06-25 05:17:21.315: I/WindowState(1202): WIN DEATH: Window{b52d8918 u0 com.erakk.lnreader/com.erakk.lnreader.activity.DisplayAlternativeNovelPagerActivity}
06-25 05:17:21.334: I/WindowState(1202): WIN DEATH: Window{b53cbfa0 u0 com.erakk.lnreader/com.erakk.lnreader.activity.DisplayLightNovelDetailsActivity}
06-25 05:17:21.334: I/WindowState(1202): WIN DEATH: Window{b5398b90 u0 com.erakk.lnreader/com.erakk.lnreader.activity.DisplayLightNovelContentActivity}
06-25 05:17:21.334: I/WindowState(1202): WIN DEATH: Window{b56bcd60 u0 Novel Content}
06-25 05:17:25.364: W/InputMethodManagerService(1202): Got RemoteException sending setActive(false) notification to pid 3724 uid 10048

I still cannot figure out the main reason of this error, so I leave it at here at the moment.

Updated:
Additional reference : http://stackoverflow.com/questions/13009499/win-death-error-in-android

That may happen when you do some hard processing in the UI thread.

WebView Destroy Error (SuperNotCalledException)

This exception is being thrown when back button is pressed (after last update)

06-25 05:04:20.633: D/class com.erakk.lnreader.activity.DisplayLightNovelContentActivity(3386): onStop Completed
06-25 05:04:20.633: E/webview(3386): Error: WebView.destroy() called while still attached!
06-25 05:04:20.643: D/webviewglue(3386): nativeDestroy view: 0xb9071470
06-25 05:04:20.643: D/AndroidRuntime(3386): Shutting down VM
06-25 05:04:20.643: W/dalvikvm(3386): threadid=1: thread exiting with uncaught exception (group=0xb4dde908)
06-25 05:04:20.643: E/AndroidRuntime(3386): FATAL EXCEPTION: main
06-25 05:04:20.643: E/AndroidRuntime(3386): android.app.SuperNotCalledException: Activity {com.erakk.lnreader/com.erakk.lnreader.activity.DisplayLightNovelContentActivity} did not call through to super.onDestroy()
06-25 05:04:20.643: E/AndroidRuntime(3386): at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3440)
06-25 05:04:20.643: E/AndroidRuntime(3386): at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3469)
06-25 05:04:20.643: E/AndroidRuntime(3386): at android.app.ActivityThread.access$1200(ActivityThread.java:141)
06-25 05:04:20.643: E/AndroidRuntime(3386): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1287)
06-25 05:04:20.643: E/AndroidRuntime(3386): at android.os.Handler.dispatchMessage(Handler.java:99)
06-25 05:04:20.643: E/AndroidRuntime(3386): at android.os.Looper.loop(Looper.java:137)
06-25 05:04:20.643: E/AndroidRuntime(3386): at android.app.ActivityThread.main(ActivityThread.java:5039)
06-25 05:04:20.643: E/AndroidRuntime(3386): at java.lang.reflect.Method.invokeNative(Native Method)
06-25 05:04:20.643: E/AndroidRuntime(3386): at java.lang.reflect.Method.invoke(Method.java:511)
06-25 05:04:20.643: E/AndroidRuntime(3386): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
06-25 05:04:20.643: E/AndroidRuntime(3386): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
06-25 05:04:20.643: E/AndroidRuntime(3386): at dalvik.system.NativeStart.main(Native Method)
06-25 05:04:20.764: W/ActivityManager(1202): Force finishing activity com.erakk.lnreader/.activity.DisplayLightNovelDetailsActivity
06-25 05:04:20.893: D/dalvikvm(1202): GC_FOR_ALLOC freed 296K, 23% free 8680K/11196K, paused 32ms, total 34ms

FC on honeycomb

Hello,

It's your favorite HC user with another FC on app start. I can't say for sure when it started happening (definitely after the move to the market), however, I have removed the cache, app and app data and re-installed and I still get the FC.
Any suggestion or updates would be appreciated.

Thanks and great job on the app. :)

build.board: verdilte
build.bootloader: 1.78.0010
build.brand: cingular_us
build.cpu_abi: armeabi-v7a
build.cpu_abi2: armeabi
build.device: puccinilte
build.display: HMJ15
build.fingerprint: cingular_us/htc_puccinilte/puccinilte:3.1/HMJ15/218994.1:user/release-keys
build.hardware: verdilte
build.host: ABM010
build.id: HMJ15
build.manufacturer: HTC
build.model: HTC PG09410
build.product: htc_puccinilte
build.radio: unknown
build.serial: HT18XVD00788
build.tags: release-keys
build.time: 1322867561000
build.type: user
build.user: unknown
version.codename: REL
version.incremental: 218994.1
version.release: 3.1
version.sdk_int: 12

02-16 09:23:08.432 W/PackageManager(307): Unknown permission android.permission.READ_EXTERNAL_STORAGE in package com.erakk.lnreader
02-16 09:23:39.302 I/ActivityManager(307): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.erakk.lnreader/.activity.MainActivity bnds=[192,440][266,522] } from pid 546
02-16 09:23:39.362 I/ActivityManager(307): Start proc com.erakk.lnreader for activity com.erakk.lnreader/.activity.MainActivity: pid=19861 uid=10002 gids={3003, 1015}
02-16 09:23:39.362 D/WindowManager(307): call linkToDeath, this=Window{41198718 Starting com.erakk.lnreader paused=false}
02-16 09:23:39.683 E/AndroidRuntime(19861): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.erakk.lnreader/com.erakk.lnreader.activity.MainActivity}: java.lang.IllegalStateException: You must use Theme.Sherlock, Theme.Sherlock.Light, Theme.Sherlock.Light.DarkActionBar, or a derivative.
02-16 09:23:39.683 E/AndroidRuntime(19861): at com.erakk.lnreader.UIHelper.SetTheme(UIHelper.java:80)
02-16 09:23:39.683 E/AndroidRuntime(19861): at com.erakk.lnreader.activity.MainActivity.onCreate(MainActivity.java:33)
02-16 09:23:39.693 W/ActivityManager(307): Force finishing activity com.erakk.lnreader/.activity.MainActivity
02-16 09:23:40.223 W/ActivityManager(307): Activity pause timeout for ActivityRecord{40c51470 com.erakk.lnreader/.activity.MainActivity}
02-16 09:23:47.540 I/ActivityManager(307): Process com.erakk.lnreader (pid 19861) has died.
02-16 09:23:49.042 I/ActivityManager(307): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.erakk.lnreader/.activity.MainActivity bnds=[192,440][266,522] } from pid 546
02-16 09:23:49.072 D/WindowManager(307): call linkToDeath, this=Window{41461620 Starting com.erakk.lnreader paused=false}
02-16 09:23:49.092 I/ActivityManager(307): Start proc com.erakk.lnreader for activity com.erakk.lnreader/.activity.MainActivity: pid=19870 uid=10002 gids={3003, 1015}
02-16 09:23:49.332 E/AndroidRuntime(19870): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.erakk.lnreader/com.erakk.lnreader.activity.MainActivity}: java.lang.IllegalStateException: You must use Theme.Sherlock, Theme.Sherlock.Light, Theme.Sherlock.Light.DarkActionBar, or a derivative.
02-16 09:23:49.332 E/AndroidRuntime(19870): at com.erakk.lnreader.UIHelper.SetTheme(UIHelper.java:80)
02-16 09:23:49.332 E/AndroidRuntime(19870): at com.erakk.lnreader.activity.MainActivity.onCreate(MainActivity.java:33)
02-16 09:23:49.342 W/ActivityManager(307): Force finishing activity com.erakk.lnreader/.activity.MainActivity
02-16 09:23:49.853 W/ActivityManager(307): Activity pause timeout for ActivityRecord{40cf2300 com.erakk.lnreader/.activity.MainActivity}
02-16 09:23:50.333 W/ActivityManager(307): Activity destroy timeout for ActivityRecord{40c51470 com.erakk.lnreader/.activity.MainActivity}
02-16 09:23:50.333 D/WindowManager(307): call unlinkToDeath, this=Window{41198718 Starting com.erakk.lnreader paused=false}
02-16 09:23:51.945 I/ActivityManager(307): Process com.erakk.lnreader (pid 19870) has died.
02-16 09:23:59.952 W/ActivityManager(307): Activity destroy timeout for ActivityRecord{40cf2300 com.erakk.lnreader/.activity.MainActivity}
02-16 09:23:59.983 D/WindowManager(307): call unlinkToDeath, this=Window{41461620 Starting com.erakk.lnreader paused=false}
02-16 09:24:15.508 I/InstalledAppDetails(12932): Clearing user data for package : com.erakk.lnreader
02-16 09:24:15.508 I/ActivityManager(307): Force stopping package com.erakk.lnreader uid=10002
02-16 09:24:15.518 D/SM:PackageReceiver(18343): package restarted: package:com.erakk.lnreader
02-16 09:24:15.528 D/SM:PackageReceiver(18343): package restarted: package:com.erakk.lnreader
02-16 09:24:15.598 I/InstalledAppDetails(12932): Cleared user data for package : com.erakk.lnreader
02-16 09:24:21.363 I/ActivityManager(307): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.erakk.lnreader/.activity.MainActivity bnds=[192,440][266,522] } from pid 546
02-16 09:24:21.413 I/ActivityManager(307): Start proc com.erakk.lnreader for activity com.erakk.lnreader/.activity.MainActivity: pid=20119 uid=10002 gids={3003, 1015}
02-16 09:24:21.423 D/ActivityManager(307): isSketcherDisabledInCurrentTask():false, ActivityRecord{40c62958 com.erakk.lnreader/.activity.MainActivity}
02-16 09:24:21.423 D/WindowManager(307): call linkToDeath, this=Window{41233248 Starting com.erakk.lnreader paused=false}
02-16 09:24:21.594 D/class com.erakk.lnreader.helper.DBHelper(20119): DB Path : /mnt/sdcard/Android/data/com.erakk.lnreader/files/databases/pages.db
02-16 09:24:21.604 D/class com.erakk.lnreader.service.UpdateService(20119): doBindService
02-16 09:24:21.604 D/class com.erakk.lnreader.LNReaderApplication(20119): Application created.
02-16 09:24:21.644 E/AndroidRuntime(20119): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.erakk.lnreader/com.erakk.lnreader.activity.MainActivity}: java.lang.IllegalStateException: You must use Theme.Sherlock, Theme.Sherlock.Light, Theme.Sherlock.Light.DarkActionBar, or a derivative.
02-16 09:24:21.644 E/AndroidRuntime(20119): at com.erakk.lnreader.UIHelper.SetTheme(UIHelper.java:80)
02-16 09:24:21.644 E/AndroidRuntime(20119): at com.erakk.lnreader.activity.MainActivity.onCreate(MainActivity.java:33)
02-16 09:24:21.664 W/ActivityManager(307): Force finishing activity com.erakk.lnreader/.activity.MainActivity
02-16 09:24:21.734 D/ActivityManager(307): isSketcherDisabledInCurrentTask():false, ActivityRecord{40c62958 com.erakk.lnreader/.activity.MainActivity}
02-16 09:24:22.194 W/ActivityManager(307): Activity pause timeout for ActivityRecord{40c62958 com.erakk.lnreader/.activity.MainActivity}
02-16 09:24:24.757 I/ActivityManager(307): Process com.erakk.lnreader (pid 20119) has died.
02-16 09:24:28.540 V/WindowManager(307): #13: ActivityRecord{40c62958 com.erakk.lnreader/.activity.MainActivity}
02-16 09:24:28.540 V/WindowManager(307): #6: Window{41233248 Starting com.erakk.lnreader paused=false}
02-16 09:24:32.284 W/ActivityManager(307): Activity destroy timeout for ActivityRecord{40c62958 com.erakk.lnreader/.activity.MainActivity}
02-16 09:24:32.324 D/WindowManager(307): call unlinkToDeath, this=Window{41233248 Starting com.erakk.lnreader paused=false}

FC on android 3.1 when opening settings

Hello, It's me again.

I'm not 100% sure when this was introduced, but it goes back at least a few versions.

09-26 16:41:19.114 I/ActivityManager(301): Starting: Intent { cmp=com.erakk.lnreader/.activity.DisplaySettingsActivity } from pid 4678
09-26 16:41:19.144 E/ActivityThread(4678): Performing pause of activity that is not resumed: {com.erakk.lnreader/com.erakk.lnreader.activity.MainActivity}
09-26 16:41:19.144 E/ActivityThread(4678): java.lang.RuntimeException: Performing pause of activity that is not resumed: {com.erakk.lnreader/com.erakk.lnreader.activity.MainActivity}
09-26 16:41:19.184 E/AndroidRuntime(4678): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.erakk.lnreader/com.erakk.lnreader.activity.DisplaySettingsActivity}: java.lang.NullPointerException
09-26 16:41:19.184 E/AndroidRuntime(4678): at com.erakk.lnreader.UIHelper.SetActionBarDisplayHomeAsUp(UIHelper.java:35)
09-26 16:41:19.184 E/AndroidRuntime(4678): at com.erakk.lnreader.activity.DisplaySettingsActivity.onCreate(DisplaySettingsActivity.java:27)
09-26 16:41:19.194 W/ActivityManager(301): Force finishing activity com.erakk.lnreader/.activity.DisplaySettingsActivity
09-26 16:41:19.194 W/ActivityManager(301): Force finishing activity com.erakk.lnreader/.activity.MainActivity
09-26 16:41:19.224 D/ActivityManager(301): isSketcherDisabledInCurrentTask():false, ActivityRecord{40a8ac48 com.erakk.lnreader/.activity.DisplaySettingsActivity}
09-26 16:41:19.695 W/ActivityManager(301): Activity pause timeout for ActivityRecord{40a8ac48 com.erakk.lnreader/.activity.DisplaySettingsActivity}
09-26 16:41:20.846 I/ActivityManager(301): Process com.erakk.lnreader (pid 4678) has died.
09-26 16:41:20.846 I/WindowManager(301): WIN DEATH: Window{4122e940 com.erakk.lnreader/com.erakk.lnreader.activity.MainActivity paused=true}
09-26 16:41:20.846 D/WindowManager(301): call unlinkToDeath, this=Window{4122e940 com.erakk.lnreader/com.erakk.lnreader.activity.MainActivity paused=true}
09-26 16:41:29.835 W/ActivityManager(301): Activity destroy timeout for ActivityRecord{406c9700 com.erakk.lnreader/.activity.MainActivity}
09-26 16:41:29.835 W/ActivityManager(301): Activity destroy timeout for ActivityRecord{40a8ac48 com.erakk.lnreader/.activity.DisplaySettingsActivity}

"Update All" Button

I might just be missing it, but is there an "Update All" button? I know there's an option in the settings to check for updates to series. But then we have to go into each series, click the hardware's option button, and then click "download all." It's not hard (personally I don't mind it), but an "Update All" button could streamline the updating process. It's not important, but if you could do it in your spare time, that would be great. THANKS SO MUCH!~

Minor Custom CSS Tweaks

I guess the first issue that needs to be resolved before pushing forward with the feature is this:

"Do you want this feature to be accessible to beginners?"

Here is the main reasons I ask this.

  • Finding the directory path isn't too obvious.
  • The reader has some custom tags that aren't seen everywhere.

My purposed solution contain the following:

  • Fixed path which the app gets the custom stylesheet from
  • Have the app copy its copy of raw/style.css into the external storage defined
  • Rewrite style.css with truck loads of comments to make it easier to get started with.

Main Novel list is empty + can't find english LN

When I go to the Light Novel lists the application tell me that the main novel list is empty. But the Teaser lists and the original lists works fine. Plus, when I searched manually for some LN, it can only find those in alternative language (which are working) but not in english. I have a Nexus S with Cyanogen Mod 10.1.2.

Thanks in advance.
If this is not the right place to post this, I'm sorry ^^" And sorry for my (very) bad english, it's not my native language.

ServiceConnectionLeaked Error

Well, this one is not too important (Since the apps is still working)
But I'm just curious in fixing it (for a meantime, put this one as an issue)

06-25 05:04:28.473: E/ActivityThread(1572): Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@b509d418 that was originally bound here
06-25 05:04:28.473: E/ActivityThread(1572): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@b509d418 that was originally bound here
06-25 05:04:28.473: E/ActivityThread(1572): at android.app.LoadedApk$ServiceDispatcher.(LoadedApk.java:969)
06-25 05:04:28.473: E/ActivityThread(1572): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
06-25 05:04:28.473: E/ActivityThread(1572): at android.app.ContextImpl.bindService(ContextImpl.java:1418)
06-25 05:04:28.473: E/ActivityThread(1572): at android.app.ContextImpl.bindService(ContextImpl.java:1407)
06-25 05:04:28.473: E/ActivityThread(1572): at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
06-25 05:04:28.473: E/ActivityThread(1572): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
06-25 05:04:28.473: E/ActivityThread(1572): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
06-25 05:04:28.473: E/ActivityThread(1572): at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191)
06-25 05:04:28.473: E/ActivityThread(1572): at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850)
06-25 05:04:28.473: E/ActivityThread(1572): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
06-25 05:04:28.473: E/ActivityThread(1572): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
06-25 05:04:28.473: E/ActivityThread(1572): at android.os.AsyncTask$2.call(AsyncTask.java:287)
06-25 05:04:28.473: E/ActivityThread(1572): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
06-25 05:04:28.473: E/ActivityThread(1572): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
06-25 05:04:28.473: E/ActivityThread(1572): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
06-25 05:04:28.473: E/ActivityThread(1572): at java.lang.Thread.run(Thread.java:856)

Thread unsafety

https://github.com/calvinaquino/LNReader-Android/blob/master/LNReader/src/com/erakk/lnreader/LNReaderApplication.java#L74-L81

public boolean addTask(String key, AsyncTask<?, ?, ?> task) {
    if(runningTasks.containsKey(key)) {
        AsyncTask<?, ?, ?> tempTask = runningTasks.get(key);
        if(tempTask != null && tempTask.getStatus() != Status.FINISHED) return false;
    }
    runningTasks.put(key, task);
    return true;
}

This scares me, since a Hashtable is being used (implying that we expect threads to be using this object at the same time). If this is meant to be threadsafe code, its not. If it doesn't need to be threadsafe, could we use a non-concurrent implementation like HashMap?

Relinking cached images with sql query

Q:Can you add "Relink Cached Images" function too? Tried on my own, it blew my mind away.
Notes:

  1. I tried using "update images set filepath = replace (filepath, 'mnt/sdcard/Android/com.erakk.lnreader/files', 'mnt/sdcard/.BakaReaderExCustomPathToPic');" on pages.db using 3rd party program called sqlitestudio.
  2. I've tried running the app after running the sql query above and it worked,but the links with special characters are broken though(searching in sdcard fails after trying to find "/mnt/sdcard/.BakaReaderExCustomPathToPic/blah/blah/somePicWithSpecialCharLikeThis%21.jpg". logcat told me so.. it said:
    "Image found in DB, but doesn't exist in path:/mnt/sdcard/.BakaReaderExCustomPathToPic/blah/blah/somePicWithSpecialCharLikeThis%21.jpg"
  3. The actual file is named:"somePicWithSpecialCharLikeThis!.jpg"
  4. I found it weird though, since before pages.db modification, it was working.
  5. made it to work by changing line#1153 of NovelsDao.java to:"} else if (!new File(java.net.URLDecoder.decode(imageTemp.getPath(),"UTF8")).exists()) {".
  6. Having a default path should still be fine even with the code in no.5 inserted.
  • Thank you.

java.lang.IllegalStateException: Content view not yet created

Crash Report
Sep 2, 2013 1.1.7 p4
Aug 2, 2013 1.1.5c AT100 (tostab03)
Jul 19, 2013 1.1.5c MB886 (qinara) died while closing it
Jul 2, 2013 1.1.4 Xperia miro (ST23i)
May 28, 2013 1.1.3 Galaxy Tab 10.1 (GT-P7500)

java.lang.IllegalStateException: Content view not yet created
at android.support.v4.app.ListFragment.ensureList(ListFragment.java:328)
at android.support.v4.app.ListFragment.getListView(ListFragment.java:222)
at com.erakk.lnreader.fragment.DisplayLightNovelListFragment.toggleProgressBar(DisplayLightNovelListFragment.java:382)
at com.erakk.lnreader.fragment.DisplayLightNovelListFragment.getResult(DisplayLightNovelListFragment.java:410)
at com.erakk.lnreader.task.LoadNovelsTask.onPostExecute(LoadNovelsTask.java:71)
at com.erakk.lnreader.task.LoadNovelsTask.onPostExecute(LoadNovelsTask.java:1)
at android.os.AsyncTask.finish(AsyncTask.java:631)
at android.os.AsyncTask.access$600(AsyncTask.java:177)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5240)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
at dalvik.system.NativeStart.main(Native Method)

java.lang.IllegalStateException: Content view not yet created
at android.support.v4.app.ListFragment.ensureList(ListFragment.java:328)
at android.support.v4.app.ListFragment.getListView(ListFragment.java:222)
at com.erakk.lnreader.fragment.DisplayOriginalListFragment.toggleProgressBar(DisplayOriginalListFragment.java:327)
at com.erakk.lnreader.fragment.DisplayOriginalListFragment.getResult(DisplayOriginalListFragment.java:348)
at com.erakk.lnreader.task.LoadOriginalsTask.onPostExecute(LoadOriginalsTask.java:63)
at com.erakk.lnreader.task.LoadOriginalsTask.onPostExecute(LoadOriginalsTask.java:1)
at android.os.AsyncTask.finish(AsyncTask.java:602)
at android.os.AsyncTask.access$600(AsyncTask.java:156)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:615)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:817)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
at dalvik.system.NativeStart.main(Native Method)

Need to ensure the view is created:
https://github.com/calvinaquino/LNReader-Android/blob/master/LNReader/src/com/erakk/lnreader/fragment/DisplayLightNovelListFragment.java#L365

Some English texts are hard-coded

Hi,
There are a lot of texts which are "hard-coded" in English, for example most of the "loadingText" like:
loadingText.setText("Loading List, please wait...");

It seems like the Tablet layout also have a lot more hard-coded texts... (Like the menu, etc.)

That may be great to localize those so that they will use the resource files instead.

PS : note that this is a minor issue, only if you have a little free time ;)

updates history

hello, i was wondering if it would be possible to keep the updates history and give the user the option to delete one or more elements from the list so to not forget what was updated.

Contents of chapter are all stacked

With the new 1.1.0 version, when I open a chapter, all the words are on top of one another. This makes reading impossible. I am on a nexus 4 running the latest stock android.

Chapter or novel being removed upon clearing cache

One chapter of Date A Live was causing the app to crash, so I decided to redownload it. However, after holding the chapter and selecting to clear cache, it disappeared from the list. The same happened when I cleared the entire volume. I had to refresh the entire novel to get them back.
I'm using Samsung Galaxy Ace.

Scrolling

Hi its not an issue its more like a request... how about adding an auto scroll option to the app? now that you added a tts support its becoming more and more like a full ebook reader well just for baka tsuki that is...but id really appreciate the auto scroll option so i dont have to scroll the screen all the way up every time i reach the end of the page :)

ok and i have a little issue with the fullscreen option..when i enable the fullscreen i get a little arrow on the lower right corner of the screen but when i click it the menu flash for less than a second and disappear i thought it might be fixed in updates but it never got fixed...long story short the menu button in fullscreen not working.
thanks and keep up the good work

FC at launch on HTC Jetstream android 3.1

FC when launching the latest apk (as of 9/2/12). Jetstream is running mostly stock android 3.1. Confirmed FC with another Jetstream user.

relevant logcat below, I can provide more info if you need it.

I/ActivityManager( 300): Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10104000 cmp=com.erakk.lnreader/.MainActivity bnds=[417,420][523,494] } from pid 493
D/msm8660.gralloc( 170): ASHMEM_UNMAP fd=37, base = 0x42ab5000, sub.offset=0, sub.size=1638400
D/msm8660.gralloc( 170): ASHMEM_UNMAP fd=36, base = 0x42925000, sub.offset=0, sub.size=1638400
E/msm8660.gralloc(25251): int gralloc_unregister_buffer(const gralloc_module_t_, const native_handle_): calling gralloc_unmap hnd:pid=170 current=25251
D/msm8660.gralloc(25251): gralloc_unmap: unmapping fd = 65 base = 0x5b561000, size=1638400
I/ActivityManager( 300): Start proc com.erakk.lnreader for activity com.erakk.lnreader/.MainActivity: pid=28846 uid=10012 gids={3003, 1015}
D/ActivityManager( 300): isSketcherDisabledInCurrentTask():false, ActivityRecord{40bf85b8 com.erakk.lnreader/.MainActivity}
D/ViewRoot( 300): ## mIsSketcherDisabledInCurrentTask is false
D/WindowManager( 300): call linkToDeath, this=Window{413295b8 Starting com.erakk.lnreader paused=false}
E/msm8660.gralloc(25251): int gralloc_unregister_buffer(const gralloc_module_t_, const native_handle_): calling gralloc_unmap hnd:pid=170 current=25251
D/msm8660.gralloc(25251): gralloc_unmap: unmapping fd = 64 base = 0x5b263000, size=1638400
I/TabletStatusBar( 493): DISABLE_BACK: no
D/msm8660.gralloc( 170): ASHMEM mmaped: fd = 36 base = 0x42925000 size = 3932160
D/msm8660.gralloc( 300): gralloc_map mapping ashmem fd=296, size=3932160
E/msm8660.gralloc( 300): gralloc_map() succeeded fd=296, off=0, size=3932160, vaddr=0x5e7df000
E/msm8660.gralloc(24781): int gralloc_unregister_buffer(const gralloc_module_t_, const native_handle_): calling gralloc_unmap hnd:pid=170 current=24781
D/msm8660.gralloc(24781): gralloc_unmap: unmapping fd = 52 base = 0x5a10f000, size=3932160
E/msm8660.gralloc(24781): int gralloc_unregister_buffer(const gralloc_module_t_, const native_handle_): calling gralloc_unmap hnd:pid=170 current=24781
D/MainActivity(28846): onCreate
D/msm8660.gralloc(24781): gralloc_unmap: unmapping fd = 53 base = 0x5a4cf000, size=3932160
D/AndroidRuntime(28846): Shutting down VM
W/dalvikvm(28846): threadid=1: thread exiting with uncaught exception (group=0x4001c798)
E/AndroidRuntime(28846): FATAL EXCEPTION: main
E/AndroidRuntime(28846): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.erakk.lnreader/com.erakk.lnreader.MainActivity}: java.lang.NullPointerException
E/AndroidRuntime(28846): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1944)
E/AndroidRuntime(28846): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1965)
E/AndroidRuntime(28846): at android.app.ActivityThread.access$1500(ActivityThread.java:134)
E/AndroidRuntime(28846): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1110)
E/AndroidRuntime(28846): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(28846): at android.os.Looper.loop(Looper.java:152)
E/AndroidRuntime(28846): at android.app.ActivityThread.main(ActivityThread.java:4606)
E/AndroidRuntime(28846): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(28846): at java.lang.reflect.Method.invoke(Method.java:491)
E/AndroidRuntime(28846): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
E/AndroidRuntime(28846): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
E/AndroidRuntime(28846): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(28846): Caused by: java.lang.NullPointerException
E/AndroidRuntime(28846): at com.erakk.lnreader.MainActivity.onCreate(MainActivity.java:35)
E/AndroidRuntime(28846): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1072)
E/AndroidRuntime(28846): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1908)
E/AndroidRuntime(28846): ... 11 more
W/ActivityManager( 300): Force finishing activity com.erakk.lnreader/.MainActivity
D/ActivityManager( 300): isSketcherDisabledInCurrentTask():false, ActivityRecord{40bf85b8 com.erakk.lnreader/.MainActivity}
D/ViewRoot( 300): ## mIsSketcherDisabledInCurrentTask is false
D/WindowManager( 300): call linkToDeath, this=Window{406d2138 Sorry! paused=false}

Volume indicator in bookmarking

Bookmark page does not list the volume the chapter is bookmarked from. So if I bookmark chapters from different volumes, I can't tell which they are from. I.e., bookmarked a chapter 3 from vol 1 and a chapter 2 of volume 2, but the bookmark page displays only chapter 3 and chapter 2 respectively so I could potentially mistake chapter 2 as preceding chapter 3 when that's not the case.

Option to prevent screen lock while the app is open

Hello, I was wondering if it would be possible to include an option that prevents the screen from locking while the app is running. During some of the larger image downloads the screen has a tendency to go dark resulting in the download from stopping.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.