Coder Social home page Coder Social logo

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

easy_xkcd's Issues

Small comics are too big

For example, 1602 takes up my entire phone display and cannot be zoomed out.

You could add a "maximum zoom"option or depend on screen DPI.

Issue with alt text

I've found others so maybe keeping this issue open for some time in case I found other again to avoid creating a lot of issue just for that ?

https://xkcd.com/1234/ the "you're" isn't displayed properly it show "youâ re"

https://xkcd.com/1147/ the "é" of "Pokémon" isn't displayed properly too

Display .gif images properly

The comic browser fails to display the animations of comics that are .gif images (such as 961).
It would be nice if we could implement proper support for .gif files.

No tests

Well, OK, there is one default test but that's it. It would be good to have a nice test suite that can then be run on travis

Add Inverted Comics

There should be an option to have a night/dark theme and have inverted comics (white on black instead of black on white). It shouldn't take much processing power and would add more options.

WebView Layout issue

There is still a layout issue in the WebView on my phone.
The text is incredibly huge with no possibility to zoom out (see screenshot).

I couldn't reproduce the issue on an emulator, it is only present on my device (Android 4.3) . . .

device-2015-09-04-174758

Add to favorites option in the comics list

When you're in the comic list, there's an option "add to favorites" which doesn't add to favorites but switch to a favorite list. The option is present here too and it switch back to the normal comic list.

Add to favorites doesn't change if already favorite

When pressing the add to favorites button to a comic which isn't a favorite, the phrase doesn't switch to delete from favorites (or whatever it should be). It still shows add to favorites and pressing it again delete the comic from favorites.

With version 3.8.3

Add a bookmark option

Is it possible to have a bookmark option ?
Right now, I'm reading all the xkcd comics starting from the most recent one but when there is a new one and I go to see it, I have to search for the one I was reading before.
Having an option as save current comic as bookmark and go to bookmark to easily go to the saved one would be nice.

Thanks in advance :)

Having a way to now about new features

Is it possible to have a pop up message when first launching the app after an upgrade to now that there's a new feature available in the app ?
Or a changelog. Whatever you find the least bothersome :)

Tag releases

It would be great if you could tag releases (e.g. the commits bumping the versioncode) in a simple and consistent scheme (e.g. the plain versioname or versioncode) using git tag TAGNAME and then git push --tags. Readable tags are really helpful when checking out "known good" versions.

Large comics don't zoom in enough

Comics like #657 don't zoom in enough on my Galaxy S5 to be readable. (I don't remember if 657 specifically is like this, I just know 657 is a large comic. The problem is with the really large ones.)

Project Doesn't Open in Android Studio on Mac

I was very excited to look into the code on this project, but when I tried to open it by importing it from GitHub into Android Studio, it didn't load. The reason I'm suspecting this is an issue with the repository and not with the IDE itself is because the error it gave me (see below) involved converting a URL from a local C:/ drive. I attached the log because I'm new to this and I may be completely wrong in my guess, but I'd love to be able to browse the code.
screen shot 2015-11-17 at 3 07 49 pm

Caused by: org.gradle.api.InvalidUserDataException: Cannot convert URL 'C:/' to a file.
    at org.gradle.api.internal.file.AbstractFileResolver.convertObjectToFile(AbstractFileResolver.java:188)
    at org.gradle.api.internal.file.BaseDirFileResolver.doResolve(BaseDirFileResolver.java:69)
    at org.gradle.api.internal.file.AbstractFileResolver.resolve(AbstractFileResolver.java:77)
    at org.gradle.api.internal.file.AbstractFileResolver.resolve(AbstractFileResolver.java:60)
    at org.gradle.api.internal.file.DefaultFileOperations.file(DefaultFileOperations.java:69)
    at org.gradle.api.internal.project.AbstractProject.file(AbstractProject.java:620)
    at org.gradle.groovy.scripts.DefaultScript.file(DefaultScript.java:113)
    at org.gradle.api.internal.BeanDynamicObject$GroovyObjectAdapter.invokeMethod(BeanDynamicObject.java:268)
    at org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:129)
    at org.gradle.api.internal.ConfigureDelegate.invokeMethod(ConfigureDelegate.java:78)
    at build_1tk45g2ye7zc7fvkpg0vvppds$_run_closure1_closure3_closure8.doCall(/Users/lindafiscus/github/Easy_xkcd/app/build.gradle:7)
    at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:63)
    at org.gradle.api.internal.AbstractNamedDomainObjectContainer.create(AbstractNamedDomainObjectContainer.java:59)
    at org.gradle.api.internal.AbstractNamedDomainObjectContainer.create(AbstractNamedDomainObjectContainer.java:52)
    at org.gradle.api.internal.NamedDomainObjectContainerConfigureDelegate._configure(NamedDomainObjectContainerConfigureDelegate.java:39)
    at org.gradle.api.internal.ConfigureDelegate.invokeMethod(ConfigureDelegate.java:73)
    at build_1tk45g2ye7zc7fvkpg0vvppds$_run_closure1_closure3.doCall(/Users/lindafiscus/github/Easy_xkcd/app/build.gradle:4)
    at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:63)
    at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:130)
    at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:91)
    at org.gradle.api.internal.AbstractNamedDomainObjectContainer.configure(AbstractNamedDomainObjectContainer.java:68)
    at org.gradle.api.internal.AbstractNamedDomainObjectContainer.configure(AbstractNamedDomainObjectContainer.java:24)
    at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:55)
    at org.gradle.api.Action$execute.call(Unknown Source)
    at com.android.build.gradle.BaseExtension.signingConfigs(BaseExtension.groovy:318)
    at com.android.build.gradle.AppExtension_Decorated.signingConfigs(Unknown Source)
    at build_1tk45g2ye7zc7fvkpg0vvppds$_run_closure1.doCall(/Users/lindafiscus/github/Easy_xkcd/app/build.gradle:3)
    at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:63)
    at org.gradle.api.internal.plugins.ExtensionsStorage$ExtensionHolder.configure(ExtensionsStorage.java:145)
    at org.gradle.api.internal.plugins.ExtensionsStorage.configureExtension(ExtensionsStorage.java:69)
    at org.gradle.api.internal.plugins.DefaultConvention$ExtensionsDynamicObject.invokeMethod(DefaultConvention.java:207)
    at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:147)
    at org.gradle.groovy.scripts.BasicScript.methodMissing(BasicScript.java:79)
    at build_1tk45g2ye7zc7fvkpg0vvppds.run(/Users/lindafiscus/github/Easy_xkcd/app/build.gradle:2)
    at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:52)
    ... 43 more
2015-11-17 15:20:53,971 [58749561]   WARN - nal.AbstractExternalSystemTask - Cannot convert URL 'C:/' to a file. 
com.intellij.openapi.externalSystem.model.LocationAwareExternalSystemException: Cannot convert URL 'C:/' to a file.
    at org.jetbrains.plugins.gradle.service.project.AbstractProjectImportErrorHandler.createUserFriendlyError(AbstractProjectImportErrorHandler.java:103)
    at org.jetbrains.plugins.gradle.service.project.BaseProjectImportErrorHandler.getUserFriendlyError(BaseProjectImportErrorHandler.java:158)
    at org.jetbrains.plugins.gradle.service.project.BaseGradleProjectResolverExtension.getUserFriendlyError(BaseGradleProjectResolverExtension.java:438)
    at com.android.tools.idea.gradle.project.AndroidGradleProjectResolver.getUserFriendlyError(AndroidGradleProjectResolver.java:348)
    at org.jetbrains.plugins.gradle.service.project.AbstractProjectResolverExtension.getUserFriendlyError(AbstractProjectResolverExtension.java:164)
    at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver$ProjectConnectionDataNodeFunction.fun(GradleProjectResolver.java:366)
    at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver$ProjectConnectionDataNodeFunction.fun(GradleProjectResolver.java:332)
    at org.jetbrains.plugins.gradle.service.project.GradleExecutionHelper.execute(GradleExecutionHelper.java:225)
    at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:97)
    at org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.resolveProjectInfo(GradleProjectResolver.java:65)
    at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl$1.produce(RemoteExternalSystemProjectResolverImpl.java:41)
    at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl$1.produce(RemoteExternalSystemProjectResolverImpl.java:37)
    at com.intellij.openapi.externalSystem.service.remote.AbstractRemoteExternalSystemService.execute(AbstractRemoteExternalSystemService.java:59)
    at com.intellij.openapi.externalSystem.service.remote.RemoteExternalSystemProjectResolverImpl.resolveProjectInfo(RemoteExternalSystemProjectResolverImpl.java:37)
    at com.intellij.openapi.externalSystem.service.remote.wrapper.ExternalSystemProjectResolverWrapper.resolveProjectInfo(ExternalSystemProjectResolverWrapper.java:49)
    at com.intellij.openapi.externalSystem.service.internal.ExternalSystemResolveProjectTask.doExecute(ExternalSystemResolveProjectTask.java:51)
    at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:138)
    at com.intellij.openapi.externalSystem.service.internal.AbstractExternalSystemTask.execute(AbstractExternalSystemTask.java:124)
    at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$4.execute(ExternalSystemUtil.java:540)
    at com.intellij.openapi.externalSystem.util.ExternalSystemUtil$5$1.run(ExternalSystemUtil.java:612)
    at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:563)
    at com.intellij.openapi.progress.impl.CoreProgressManager$8.run(CoreProgressManager.java:367)
    at com.intellij.openapi.progress.impl.CoreProgressManager$2.run(CoreProgressManager.java:152)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:452)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:402)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:137)
    at com.intellij.openapi.application.impl.ApplicationImpl$10$1.run(ApplicationImpl.java:617)
    at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:400)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:695)
    at org.jetbrains.ide.PooledThreadExecutor$1$1.run(PooledThreadExecutor.java:56)

2015-11-17 15:20:54,999 [58750589]   WARN - ij.ui.messages.SheetController - URL is null; HyperlinkEvent: javax.swing.event.HyperlinkEvent[source=javax.swing.JEditorPane[,120,45,311x39,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.basic.BasicBorders$MarginBorder@600ccf6f,flags=16777504,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=187,g=187,b=187],disabledTextColor=javax.swing.plaf.ColorUIResource[r=187,g=187,b=187],editable=false,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255],selectionColor=javax.swing.plaf.ColorUIResource[r=47,g=101,b=202],kit=javax.swing.text.html.HTMLEditorKit@240906be,typeHandlers={text/html=javax.swing.text.html.HTMLEditorKit@240906be}]] 
2015-11-17 15:20:57,469 [58753059]   WARN - ij.ui.messages.SheetController - URL is null; HyperlinkEvent: javax.swing.event.HyperlinkEvent[source=javax.swing.JEditorPane[,120,45,311x39,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.basic.BasicBorders$MarginBorder@600ccf6f,flags=16777504,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=187,g=187,b=187],disabledTextColor=javax.swing.plaf.ColorUIResource[r=187,g=187,b=187],editable=false,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255],selectionColor=javax.swing.plaf.ColorUIResource[r=47,g=101,b=202],kit=javax.swing.text.html.HTMLEditorKit@240906be,typeHandlers={text/html=javax.swing.text.html.HTMLEditorKit@240906be}]] 
2015-11-17 15:20:57,622 [58753212]   WARN - ij.ui.messages.SheetController - URL is null; HyperlinkEvent: javax.swing.event.HyperlinkEvent[source=javax.swing.JEditorPane[,120,45,311x39,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.basic.BasicBorders$MarginBorder@600ccf6f,flags=16777504,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=187,g=187,b=187],disabledTextColor=javax.swing.plaf.ColorUIResource[r=187,g=187,b=187],editable=false,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255],selectionColor=javax.swing.plaf.ColorUIResource[r=47,g=101,b=202],kit=javax.swing.text.html.HTMLEditorKit@240906be,typeHandlers={text/html=javax.swing.text.html.HTMLEditorKit@240906be}]] 
2015-11-17 15:20:59,050 [58754640]   WARN - ij.ui.messages.SheetController - URL is null; HyperlinkEvent: javax.swing.event.HyperlinkEvent[source=javax.swing.JEditorPane[,120,45,311x39,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.basic.BasicBorders$MarginBorder@600ccf6f,flags=16777504,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=187,g=187,b=187],disabledTextColor=javax.swing.plaf.ColorUIResource[r=187,g=187,b=187],editable=false,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255],selectionColor=javax.swing.plaf.ColorUIResource[r=47,g=101,b=202],kit=javax.swing.text.html.HTMLEditorKit@240906be,typeHandlers={text/html=javax.swing.text.html.HTMLEditorKit@240906be}]] 
2015-11-17 15:20:59,185 [58754775]   WARN - ij.ui.messages.SheetController - URL is null; HyperlinkEvent: javax.swing.event.HyperlinkEvent[source=javax.swing.JEditorPane[,120,45,311x39,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.basic.BasicBorders$MarginBorder@600ccf6f,flags=16777504,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=187,g=187,b=187],disabledTextColor=javax.swing.plaf.ColorUIResource[r=187,g=187,b=187],editable=false,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255],selectionColor=javax.swing.plaf.ColorUIResource[r=47,g=101,b=202],kit=javax.swing.text.html.HTMLEditorKit@240906be,typeHandlers={text/html=javax.swing.text.html.HTMLEditorKit@240906be}]] 
2015-11-17 15:20:59,359 [58754949]   WARN - ij.ui.messages.SheetController - URL is null; HyperlinkEvent: javax.swing.event.HyperlinkEvent[source=javax.swing.JEditorPane[,120,45,311x39,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.basic.BasicBorders$MarginBorder@600ccf6f,flags=16777504,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=187,g=187,b=187],disabledTextColor=javax.swing.plaf.ColorUIResource[r=187,g=187,b=187],editable=false,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255],selectionColor=javax.swing.plaf.ColorUIResource[r=47,g=101,b=202],kit=javax.swing.text.html.HTMLEditorKit@240906be,typeHandlers={text/html=javax.swing.text.html.HTMLEditorKit@240906be}]] 
2015-11-17 15:21:50,630 [58806220]   WARN - ij.ui.messages.SheetController - URL is null; HyperlinkEvent: javax.swing.event.HyperlinkEvent[source=javax.swing.JEditorPane[,120,45,311x39,layout=javax.swing.plaf.basic.BasicTextUI$UpdateHandler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.basic.BasicBorders$MarginBorder@600ccf6f,flags=16777504,maximumSize=,minimumSize=,preferredSize=,caretColor=javax.swing.plaf.ColorUIResource[r=187,g=187,b=187],disabledTextColor=javax.swing.plaf.ColorUIResource[r=187,g=187,b=187],editable=false,margin=javax.swing.plaf.InsetsUIResource[top=0,left=0,bottom=0,right=0],selectedTextColor=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255],selectionColor=javax.swing.plaf.ColorUIResource[r=47,g=101,b=202],kit=javax.swing.text.html.HTMLEditorKit@240906be,typeHandlers={text/html=javax.swing.text.html.HTMLEditorKit@240906be}]] 

I apologize if this is not an issue with your repository, as I said, I'm new to this.

Hangs at loading comics

Ever since I see google play biking service permission added
Whenever I start easy xk it just hangs at loading comics if I have no internet

It's been a few updates since this started.

Suggestion for overview mode

I don't know how far you are with implementing a better overview mode, but I just noticed there already is a pretty good list-based one: the search results.
If you search something, then search again (from the search activity), and finally clear your search you'll get a satisfying list of all comics out there.

device-2015-12-06-181919

Wouldn't it be easier to improve this one (e.g. reverse it, so the newest comic is on top, and add a scroll bar) than completely writing a new one? As an extra, we'd have a consistent design in the whole app.
Of course, there might be a grid-based one too, and the user can select which is shown with an entry in the settings.

FAB in overview mode causes crash

Pressing the random-FAB in the favorites overview mode causes an ArrayIndexOutOfBoundsException.
Here's the log output:

E/AndroidRuntime(21188): FATAL EXCEPTION: main
E/AndroidRuntime(21188): Process: de.tap.easy_xkcd, PID: 21188
E/AndroidRuntime(21188): java.lang.ArrayIndexOutOfBoundsException: length=509; index=-1108
E/AndroidRuntime(21188):        at android.util.SparseArray.keyAt(SparseArray.java:271)
E/AndroidRuntime(21188):        at de.tap.easy_xkcd.fragments.OverviewBaseFragment.showComic(OverviewBaseFragment.java:55)
E/AndroidRuntime(21188):        at de.tap.easy_xkcd.fragments.OverviewCardsFragment.showComic(OverviewCardsFragment.java:73)
E/AndroidRuntime(21188):        at de.tap.easy_xkcd.Activities.MainActivity.onClick(MainActivity.java:233)
E/AndroidRuntime(21188):        at de.tap.easy_xkcd.Activities.MainActivity$$ViewBinder$1.doClick(MainActivity$$ViewBinder.java:18)

Should only "switch comic when zoomed in" when initiating new swipe

Right now, I can be zoomed into the comic, then swipe to pan around.

If my pan extends beyond the end of the comic, the app will automatically switch comics. That's generally not what I want.

It should first stop at the edge of the comic, then only switch comics if I swipe again in that direction.

Probably lots of corner cases...

Cannot swipe when zoomed in

I decided to try this app out again. I see that you still can't swipe to switch when zoomed in.

Suggestions to fix:

  • Double-swipe to switch comics.
  • Swipe action bar to switch comics.

Of course this should be user-configurable.

No pictures in what-if

I noticed, there are no pictures displayed for the what-ifs, just some tiny * or something like that which shows the alt-text when touched. Switching to offline mode for what-if and being on W-LAN instead of mobile internet did not change that behaviour, so I assume it is not related to those settings.

Commics appear twice

Hello,
I've recently noticed that Easy xkcd sometimes displays the same comic twice when you swipe from one comic to the next. The title of the comic changes and the number in the toolbar increases, but the applications simply shows me the previous comic.

Here's an example (please excuse the size of the screenshots):

This is comic 1306:
screenshot_2015-10-28-09-34-17

When I swipe to comic 1307, the application also displays comic 1306:
screenshot_2015-10-28-09-34-14

I hope that you somehow manage to fix this.
I'd be delighted to provide any help if necessary.

query on external storage

hi, i see you closed the issue on saving to external sdcard. however on my moto g 4g (firstgen) the app (ver3.3) saves to the internal scdard storage and no to my micro sd external card. the internal storage is at /storage/sdcard0 and the microsd card at /storage/sdcard1,
am i missing something about getting comics to store on the microsd card?

diziet

A Changelog would be nice!

Could you make a simple Changelog just to keep us updated about the changes from a release to another?

Thanks

Overview mode

So I personally have a small bit of a distaste for comic readers that show the comic like the site does, with just the comic and navigation back and forth. It'd be nice if part of the UI was a bit of an overview mode, a scrollable list of the comics. Maybe not a basic textual list, something visual like this iOS app could work nicely.

High memory usage causes OutOfMemoryError

Because the app crashes occasionally on my phone, I did some researches with Android Studio:
When using the app (and swiping through the comics) the memory usage increases and increases . . .
When it reaches ca. 55 MB an OutOfMemoryError is thrown.
Also it seems like all favourites are loaded into Memory, which isn't a perfect behaviour when there are a number of favourites . . .
Maybee it's possible to unload more comics that are not needed any more and don't load all favourites into RAM?

Issue with the comic list when going back from a comic

When going back from a comic to the comic list, the app doesn't show the list near the comic I was reading (for example 1518) but close to the first one (it's around 100).
So I have to go back to the top and search for my comic.
But once I've done that and if I go back again, it shows the right place in the list.
But if I close the app(not just quitting it), and do this again, the issue is here again.

Not sure if I'm clear enough ^^

Holding down finger after double-clicking to zoom causes the alt text to activate

I'm a big one-hand user of phones, and use one-finger zoom almost exclusively. I noticed that double clicking zooms in by some arbitrary amount. However, when using this method to zoom, if one continues to hold down their finger, the alt text will show on the bottom, the phone will vibrate, and the image will no longer be zoomed in. It's rather off-putting.

Lime theme needs dark font in toolbar

According to the guidelines the lime theme should use a dark font for better contrast. Technically the green theme is affected as well, but I think the contrast is fine there and having white font on the darker (700-tone) system bar and black font in the toolbar right below probably looks weird.

I looked at the source, but could not find an easy fix. The dark actionbar theme seems to be hardcoded in tool_bar.xml and the parents of the styles in styles.xml seem to be ignored, since only single values are extracted from those custom styles.

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.