Giter VIP home page Giter VIP logo

hentoid's Introduction


Download

Quality Gate Status Build status

Hentoid is an ad-free Doujinshi & H-Manga archiving and viewing app.
Hentoid currently supports:
Note: Hentoid can still import downloads from FAKKU and Pururin.
Check out the Hentoid wiki if you need assistance installing Hentoid on your device.
For the latest release, click here.
Don't forget to check the FAQ if you have any issue
Visit our Discord Server to chat with other users, read the latest announcements, get dev updates, app support or hang out with the development team.

Help us shape Hentoid into the best H-Manga App for you.


hentoid's People

Contributors

arturra avatar asl97 avatar avluis avatar comradekingu avatar csaki avatar disasterinbound avatar firocodiro avatar getnumber avatar iamzim101 avatar kingrikkie avatar nonononoki avatar plive498 avatar rhoaias-hen avatar robbwatershed avatar sirblackenergy avatar tacothedank avatar torettoalfa avatar weblate avatar wightwulf1944 avatar

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  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

hentoid's Issues

User-submitted Bug Report [ryukuzui]

This is a user generated bug report provided upon request - comment chain.

User reports:
"Pururin downloads don't work; they just keep saying the 'Unhandled error reading image URLs' message. If it doesn't say that, the download stays at 0% forever."

A quick look at the generated bug report doesn't throw any flags and so I have opened this issue for more eyes to be able take a look at it - please note that bug reports can contain user data so access to this report will be done per request.

@csaki @neosubmarino you have access.

[Bug] Pururin downloads no longer work

Priority: blocker

Pururin has updated the website and hentoid is now unable to download anything, from any device, using any connection.

This may be due to the page that says "checking your browser"

Downloads sorting does not apply until app is relaunched.

Affects version: 1.1.4
Tested on: 4.2.2, 4.4.2

Repro steps:

  1. Navigate to downloads.
  2. Change sorting by tapping 3-dot or hardware menu key.
  3. Observe.
  4. Relaunch app.

Note:

  • Refreshing the downloads list does not remedy the issue.
  • Switching to, and returning from a different activity does not remedy the issue.

Native browser instead of webview (Hitomi.la)

I'm going to start with hitomi.la because it has a very unfriendly web design and its html structure is simpler than Fakku and Pururin.
Phases:
1 .- New html parser methods: Content list, Category lists (tags, artists, series, etc)
2 .- I was thinking to refactor the project structure. I'm going to create an interface than it'll have all logical business (get the html, parse to java object, get image list, etc).
3 .- Well, I was working in the activity (ContentListActivity) a long time ago, so I'm going to retake it.

Downloading some pururin mangas cause an unhandled error.

When pururin returns an error 521 when hentoid is trying to collect links for download, an "unhandled error" notification is returned to the user.

When this error happens, an empty folder with the manga name is created in the downloads directory.

Affects version: 1.0.8

Frequency: 1/5. Issue happens depending on pururin server.

Repro steps:

  1. Download several mangas from pururin.
  2. Observe the device notifications.

Result: The download fails and an "unhandled error" notification is shown.

Looking to improve these areas.

This serves as a guide for areas that need improvement.

  • An about section has been created for the app and a mockup of what it should look like (as to improve its presentation) has been put together. Now it just need to be implemented.
  • The updater can handle the updates and take care of the notifications - but the download library that powers it has a few issues with cached data - need to take the time to look into this before adding any other dependant features.
  • There is a 'Check for Updates' button in the navigation bar from releases prior to the built-in updater - this should be moved into the preferences screen to clean up the navigation bar while still providing the user a manual way to query for updates.
  • While on the topic of update checks - upon the introduction of the built-in updater, Toast messages are no longer used to indicate if an update is available or not - this is now handled by showing notifications in the notification bar instead. But when a user manually checks for an update, no feedback is currently provided - add some sort of feedback to indicate that the app is indeed checking for updates - in this case a simple Toast displaying "Checking for updates" once pressed, then a "No updates available" will work. If an update is available, then the built-in updater will show a notification instead.
  • When a download is complete - a notification message is sent to the notification bar.
    When multiple downloads complete - multiple notification messages are sent to the notification bar.
    This behavior is seen on wearable devices as well if one is paired to the device.
    Merging completed notifications will clean up the notification bar and any other devices paired with the smartphone that show notifications.
  • While browsing any of the three supported websites - the app provides floating action buttons (FAB) to navigate back to different sections of the app. I would like to hide these action buttons when the on-screen keyboard has been triggered - which usually means that the user is inputting text, which means the FAB are in the way. FABs on the Browser are now small enough to not get in the way.
  • When a download is complete, the download list requires a refresh to display the new content: Have the download list automatically refresh once a download is complete.

[Bug] Invoking "web search" in a webview causes the app to crash.

In a webview activity, tapping and holding text will show the text selection CAB. In this CAB there is a menu overflow that has a web search option. Selecting this option will cause the app to crash.

Affects version: 1.0.8

Device os: 4.2.2

Frequency: 100%

Repro steps:

  1. Launch app and proceed to any webview activity.
  2. Tap and hold over text.
  3. When the CAB appears, select the overflow menu and tap "web search".

Result: A crash report toast will appear and the app will relaunch.

Known nhentai bugs

Affects version 1.1.5 master

Fixed:

  • mangas that include non-jpg images in it's gallery causes download errors.
  • mangas with a siteid ending in '1' causes download errors.
  • manga galleries bigger than 200 images may cause an error.
  • nhentai cover images occasionally cannot be downloaded.
  • Parsing nhentai image galleries can take too long.

webView redesign

The floating action buttons are a neat idea when the app is making use of a webView to show online content - but they get in the way.
Implementing them following the material design guidelines should improve their current look and behavior.

Note: Any work and research under this issue must be considered a workaround until @csaki implements an alternative layout, as suggested by issue #34 and as suggested from previous releases of the FakkuDroid app.

Prototype:

Default

1 regular loaded
From top left to bottom right:

  • Toolbar
    • Up button
    • Refresh button
  • Page body
  • Disabled download FAB

On a manga page

2 download loaded

  • On valid manga pages, the download FAB enables by animating to an opaque view

Refreshing

3 regular download loading
The following behavior applies to all pages that is currently loading:

  • The Refresh button is replaced with a Stop button
  • A determinate progress bar appears into view underneath the Toolbar
  • The Download FAB becomes translucent and disabled.

On any of the three states above, the user can scroll down and doing so will hide the Toolbar.

Default

4 regular scrolled loaded

Manga page

5 download loaded

Loading

6 regular scrolled loading

Behavior:

  • The activity is a top level temporary activity that employs an "Up" button. Tapping the Up button will simply end the activity. Behavior based on Android guidelines.
  • No navigational back button is employed on screen. The device "Back" button will be used to navigate back.
  • The Toolbar shares space with the page body and does not block the page body.
    • Scrolling downwards will animate hide the toolbar upwards.
    • Scrolling upwards on any part of the page body will immediately animate show the toolbar downwards, blocking a small part of the page body until the page is completely scrolled up.
  • The Refresh button will only be available on fully loaded pages.
  • The Stop button replaces the Refresh button when the page is currently loading.
  • The Progress bar appears temporarily on loading pages and disappears briefly after. The progress bar is always anchored to top whether the toolbar is shown or not.
  • The Download FAB is always shown but translucent and disabled on invalid pages; opaque and enabled on valid manga pages. The only time the FAB is hidden is when the keyboard has been invoked. The FAB should also follow behavior defined here.
  • Animations are important in getting the users attention. As stated in the material guidelines, "Motion provides meaning".

Resources:

First launch activity still shows Fakku banner

On first launch Hentoid asks for the location to save downloads. In this activity there is a banner at the top that says Fakku. This is a remnant of the old FakkuDroid app.

Expected result: The banner should be appropriate for the app that now also supports Pururin and Hitomi. Possibly a banner that represents the three or a general one for Hentoid that shows neither of the three.

Screenshot:
screenshot_2015-09-03-17-20-28

nhentai cover images occasionally cannot be downloaded.

Affects version: 1.1.5 master

Notes:

  • Issue is not specific to which manga is downloaded.
  • Issue can be resolved by tapping "View" on the failed manga download to visit the gallery page, and tap downloadFab again.
  • Trying again without doing the above steps does not solve the issue.

Notifications: Merge completed downloads.

When a download is complete - a notification message is sent to the notification bar.
When multiple downloads complete - multiple notification messages are sent to the notification bar.
This behavior is seen on wearable devices if one is paired.

Merging completed notifications will clean up the notification bar and any other devices paired with the smartphone that show notifications.

Hentoid may not have permission to write to SD card

Affects version 1.1.4r2

Tested on: Samsung SM-G531H OS5.1.1

Screenshot:
screenshot_2015-12-28-01-10-06

Repro steps:

  1. On first launch activity, tap "EXPLORE"
  2. Select SD card location
  3. Tap "CONFIRM".
  4. Tap "SAVE".

Result: A toast appears stating "You don't have permission to write in that folder, try in another folder"

Expected result: The user should be able to select sd card as the save location.

Log

Reported here and there.

Launching the About activity causes the app to crash on some devices

Affects version 1.1.5r5

Device info:
Samsung Galaxy Young (Y)
Android 4.0.3
230 x 432 ldpi

Steps to repro:

  1. Launch app
  2. Launch About activity through nav drawer.

Notes:

  • Clearing data or reinstalling the app does not resolve the issue.
  • The same device updated to android 4.2 does not reproduce the issue.
  • No immediate condition pattern for issue reproduction.
  • LOG file

Internal updater behavior design.

This document is a design guideline for the internal update behavior. It's objective is to streamline the current functionality and provide an elegant and uninterrupting user experience.

Due to contextual behaviors, this document will be divided into two major contexts; Automatic updates, and manual checking for updates.

AUTOMATIC UPDATES

  • On launch, App should automatically check for updates over wi-fi .
  • IF enabled in preferences, app should check for updates over mobile data.
  • User should not be informed in any way that the app is checking for updates. No toast or notifications.
  • IF there is no update available, user should not be informed in any way. No toast or notifications.
  • IF there is an update available, user should be informed by showing a system notification.
  • Update process flow continues from there.

MANUAL CHECK FOR UPDATES

  • There should be a "Check for updates" control in preferences UI.
  • Manually checking for updates should override the "Updates over mobile data" preference.
  • Tapping the item should immediately show "Checking for updates..." toast.
  • IF there is no update available, user should be informed with a toast.
  • IF there is an update available, user should be informed with a system notification.
  • Update process flow continues from there.

Tsumino downloads in progress can be broken once the session cookie expires

Affects version 1.1.6r1

Repro steps:

  1. Start a tsumino download. It is recommended to select content with over 300 pages.
  2. Wait for download to finish.

Result: The download in progress may get interrupted before it is completed. Hentoid will state it has been completed with errors.

Expected result: If the session cookie expires while a download is in progress, the download should halt and alert the user.

Notes:

  • Not device or OS dependent
  • Session cookie duration is unknown.
  • Once a download has been broken, it cannot be normally resumed even after re-doing the captcha.
  • More details will follow after testing

Update notification ticker states "Tap to install the update!" before update is downloaded.

When the app checks for updates and an update is available, a notification is delivered. When this notification is delivered, the status bar briefly shows the notification ticker. The ticker states "Tap to install the update!" before the update is downloaded and ready to be installed.

Result: The ticker states that the update is ready to install but the notification states that it is ready for download.

Expected result: The ticker should state that "An update is available!"

Affects version: 1.1.0 all revisions
Affects OS: 4.4.4 and below

Adverse effect: In OS 5.0 and above, the string passed to setTicker() is used by accessibility services and may cause confusion.

Screenshots:
screenshot_2015-08-23-00-45-49
screenshot_2015-08-23-00-45-57

Possible cause:
https://github.com/csaki/Hentoid/blob/8112c6c6d871f48c86e9a65b49af4b4713f1afcd/app/src/main/java/me/devsaki/hentoid/updater/UpdateCheck.java#L222

Downloads UI toolbar enhancement

This document attempts to address issues about the search function in the Downloads UI that are not severe enough to be considered a bug but trivial enough to be considered.

Issues

  • Deactivating the SearchView requires two taps of the "x" button.
  • Hardware menu button opens Sort menu under any circumstance.
  • Sorting is inaccessible once the SearchView is activated.
  • Entering search terms with no matching result will show the closest or last matched result instead of a blank result. There are instances when the search function is used to see 'if' the manga is downloaded and in these cases it is necessary to return a blank result.

Screenshot of all the above behavior together:
screenshot_2015-09-04-16-24-53

Resolution:

  • The SearchView should have an "Up" button that deactivates the SearchView.
  • Add a dedicated sort menu button to the right of the search button.
  • Hardware menu button should dismiss keyboard and open navigation drawer.
  • The results should be blank if the search term does not match any of the downloaded mangas.

References:

Download button doesn't show on Fakku and Hitomi

Affects version 1.1.3

Notes:

  • It was working fine for hitomi before update.
  • The changes made to allow the download button to work on Fakku work separately from the parsers for Hitomi and Pururin

Confirmed with ff devices:

Device OS logs
Samsung Galaxy Tab 3 (SM-T210R) 4.1.2 mediafire
Samsung Galaxy S2 (GT-9100) 4.1.2 n/a
Samsung Galaxy Duos (GT-S7562) 4.0.4 n/a
Samsung Galaxy Young (GT-S6310) 4.1.2 https://drive.google.com/file/d/0B6esBD0mU-v6bVlOR2xjRUdhZTQ/view?usp=sharing

Screenshots:

V 1.1.2 V 1.1.3
72066058-7f7c-11e5-84d7-3fdd77a3fed4 71a6a82a-7f7c-11e5-8003-90e522271a27
717452e4-7f7c-11e5-8b41-5c38818e0e8e 71c8f920-7f7c-11e5-8205-6ebfa5230a26
71795cb2-7f7c-11e5-8cbe-e8fd096f1caa 71d57a7e-7f7c-11e5-8482-1fbeb8ab77ed

Testers & programmers needed

Edit: Abandoned


I need volunteers!
If you know your way with Java and/or Android, please contact me!
I can get you up to speed with the Android SDK and Android Studio if you need a refresher or don't know where to start - just get over here already~

Testers:

Programmers:


Build notes:

  • In order to get the debug build, follow this link and tap on the Hentoid logo.
    This should throw an apk at you - please let me know if that is not the case.
  • I will be making use of proguard from now on so please let me know of any crashes anywhere and see if you can grab the logcat right around the time that happens.
  • Please make sure to clear your logs afterwards - start fresh before moving on with further testing.
  • When you think you have a show stopping bug or a collection of them to share, message me so I can open an issue dedicated just for testing (don't want multiple issues on a build that is being actively tested).
  • Logcat apps:
    CatLog
    aLogcat

Collaborators - please keep conversation here to a minimum, this will be used as an announcement post.

Cannot view Fakku subscriptions

Logged in, subscribed, cannot view on reader, but works in web browser. Cannot download either, it will only download the first page.

Affects version 1.1.2

Purring server down

Is Pururin going to be removed from the app? The forums was going all about how the owner went MIA and the supposed self sufficient server went down.

Enhance built-in updater

The current UpdateChecker simply checks if there is a new update available.

I would like to augment this with a built-in updater:
Check for updates on startup (as it currently does).
If an update is available, then it notifies of such (does this as well).
Then offers to download said update in the background.
Once the update is downloaded, options are offered to install the update.

In addition, I am planning to leverage off GitHub and use the current repository to host the update itself.

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.