quantumbadger / redreader Goto Github PK
View Code? Open in Web Editor NEWAn unofficial open source Android app for Reddit.
License: GNU General Public License v3.0
An unofficial open source Android app for Reddit.
License: GNU General Public License v3.0
Hi,
I use RR on a tablet with a keyboard. as such, I want to use the arrow keys to quickly jump over the top level comments (i.e. pressing down moves the next top level comment to the top of the view, and vice versa).
A small enhancement, but killer feature for use with keyboard.
If a user is subscribed to more than 100 subreddits, it will only download the first page.
Should be a fairly simple change to getUserSubreddits()
in RedditAPI.java
.
scrolling is not fluent even on phone with four cores ;/ [nexus 4]
maybe some "jobs" could be moved to separate threads?
I'm seeing things like &-amp; inside of flair.
For example, when browsing /r/bestof on the website, the comment linked pops up to the top. When browsing /r/bestof in RedReader, only the thread pops up. If the linked comment is not the top comment, I have to scroll through a bunch of comments to find the linked comment, if I can find it at all.
In the option menu that is shown when pressing a comment, one can select "Toggle Collapse". However, quite a substantial percentage of the times that I press this option, the collapse is not executed and I will have to try again. This second time the collapse is mostly executed instantly.
"inbox" shows incorrect points, it's always zero.
Also I'd have thought that the "inbox" and "view comments" button via the profile would lead to a screen of the same style (just different content). They both look nice, but it's very inconsistent.
See here: http://i.imgur.com/KiFR1Lk.png
(Either the posts list on one side or the other will not fully load until I scroll it)...
Might be because I'm forcing tablet mode on my phone though, either way just FYI
The blue progress bar that is shown, for example, when opening the comments disappears with a hiding animation. This animation happens when the comments are already displayed. The user sees that all the comments are already retrieved but is forced to wait for the animation to end until the comments can be read. This breaks the reading flow and it is annoying to be slowed down and having to focus on the comments several times until they reach their final position.
Additionally, I'm wondering why there is such a prominent progress bar at all. Diode, for example, uses a tiny progress bar that glows while loading and is afterwards just a thin horizontal rule. This way, the content (in this case the comments) is not moved around, but stays where it is initially displayed. There is no delay slowing down the user. If the content cannot be loaded, an error message is shown.
To me the information of the current progress bar seems to be superfluous. "Connecting, downloading, done" can be impossible to read on a fast connection, because the whole procedure takes only a fraction of a second. On a slow connection it can be read, but what difference does it make to the user, if the app is connecting or downloading? What is the difference between seeing that the content is displayed and reading "done"? Android already tells the user whether it is connected to the Internet, therefore the only useful information is whether the content can be shown or not.
If the page has been successfully loaded, it should be displayed without delay and without further movements. If the page could not be loaded, maybe because reddit is down, an error message might be easiest to understand.
If I'm not mistaken major browsers do it like this: Have one indicator, often a simple graphical loading indicator like in Chrome, for the whole connecting, downloading, processing procedure. If the content is retrieved, display it as fast as possible without any further movements. If the content cannot be retrieved, display an error message.
Just imagine your browser using the verbose progress bar of RedReader. Maybe hundreds of times a day, you read the same three words (if they can be read at all) and every page moves around after it is already displayed. "click-read" becomes "click-connecting-downloading-done-animation-read".
One last word on the graphical loading indicator. I wouldn't be surprised if one reason for the use of a graphical indicator was that words can hardly be not read and not mentally processed once they are seen. A rotating circle (like in Chrome) or a filling loading bar (like in Diode) might lead to less distracting mental processing and make it easier to concentrate on the content. To me the tranquilizing rotating circle or filling bar say: "Put your brain into standby and wait until you see the content." On the other hand, "Connecting, downloading, done" says: "Do you still remember how complicated it is just to display a couple of comments to you?"
Thanks!!
When viewing a self post with a bullet list in it, the bullets don't show and the items are all squashed onto one line.
So far tested on a Nexus 7 running CM10 and an HTC DNA running stock.
I'm wanting to contribute a tool to allow users to create custom subreddits from the list of subreddits they are subscribed to. I am just now getting into app development so I didn't want to start working on this if it is something you already plan to add yourself or if someone else is already working on it.
Allow users to change colours and sizes of things in the settings.
Feature Request:
Have an option to load / display only new messages in the inbox. This would allow user to not worry about if they are re-read old messages and maybe reply again by mistake.
Hey,
First of all, great job. Bowel movements are 20% more efficient with RedReader.
Could you please put in an option to open links in comments in an external browser/relevant app? The internal browser can't handle anything with video or a download link in it.
Right now it's not even possible to copy a link from a comment without copying the whole comment along.
Thanks.
I like that it keeps cached copies, but can there be an option to always refresh? Usually I load up a sub then always have to refresh posts...
I'm completely stumped on this issue, I hope someone can give some advice.
RedReader displays posts as they are downloaded. The updatePosts() method in PostListingAdapter.java is called every time the items shown in the UI need to be updated.
However, the ListView component (created in PostListingFragment.java) sometimes stops growing after two posts. Attempting to scroll this two-element-high list view eventually makes it relayout properly and fill the whole screen, but until the user does this the listview doesn't resize.
notifyDataSetChanged() is being called, which should (in theory) be the only thing which needs to be done. I've also tried several different kinds of invalidation, manually setting the listview's layout height to FILL_PARENT, overriding onAttachedToWindow in the outer layout to get the layout height to "FILL_PARENT", and so on. Nothing seems to work.
Please let me know if you have any ideas, or have a go at fixing it yourself.
Currently tapping on a comment can do (Toggle collapse, show action menu, nothing).
However, the most common usecase of tapping on a comment would be top open a link -- and mostly this would be another subreddit, or imgur link. This tapping on a link should directly open the subreddit, or the image. Improves UI, and saves the user the frustrating task of opening the menu > show links > click on link.
Along the lines of the filtering capabilities in RES, the ability to omit specific subreddits or posts containing certain keywords from r/all would be particularly welcome. None of the other Android clients that I've come across have this functionality.
Maybe using this + swipe-to-remove inside the subreddit list view:
Trim at login, and also when loading from DB
android.database.sqlite.SQLiteException: near "UPDATE": syntax error (code 1): , while compiling: CREATE TABLE actions (id TEXT PRIMARY KEY ON CONFLICT UPDATE,user TEXT NOT NULL,parent TEXT,read TEXT,votedirection INTEGER,saved INTEGER,hidden INTEGER,dirty INTEGER,lastupdate INTEGER)
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:882)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:493)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
at android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31)
at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1663)
at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1594)
at org.quantumbadger.redreader.reddit.prepared.RedditChangeDataManager.onCreate(RedditChangeDataManager.java:84)
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:252)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)
at org.quantumbadger.redreader.reddit.prepared.RedditChangeDataManager.prune(RedditChangeDataManager.java:96)
at org.quantumbadger.redreader.RedReader$2.run(RedReader.java:74)
Full log of crash. I'm not exactly sure where to post this but here you go...
RedReader aggressively caches images, and crashes occur when a device runs out of storage space.
When the disk fills up, or the app starts and less than 128MB of storage is available:
Also: Display an error message specific to the lack of storage when a download fails.
Other suggestions would be welcome.
Orbot is a Tor implementation for Android which allows to easily proxy specific app traffic over Tor.
It would be good to see RedReader add support for proxying over Orbot.
From the main interface, "My Profile" -> "View Comments" you can only see your comments. It would be nice to have the possibility to go to the original thread.
It seems as if comments have no fling actions. Adding them could improve consistency and speed up interacting with comments. They could closely resemble the fling actions for posts and be configurable in the settings alike.
Can a collapse-all button be added next to the sort and refresh icons. I like to collapse all comments and only open up the ones I'm interested in. Save a lot of scrolling effort, and improves user experience.
Clicking on a comment will hide/unhide the comment, so it's not possible to click a link posted in a comment.
They don't appear to exist anywhere!
But detect if a connection is available first
In addition to threads which are started to perform a single task, RedReader uses seven persistent threads to handle queuing and network IO. These should be terminated when idle and only started when necessary (a dynamic thread pool).
RedditQueueProcessor (in PrioritizedDownloadQueue.java): 1 thread
RequestHandlerThread (in CacheManager.java): 1 thread
CacheDownloadThread (in CacheManager.java): 5 threads
Right now if I open a self-post in a landscape tablet mode, it opens in the right column, while the left column shows the list of posts in a subreddit. However, if I open the link post, it opens fullscreen. hiding the list of posts. It makes it slower to switch between posts and harder to browse.
Suggestion: make an option to use the same display mode (two columns) for links, as for self-posts.
After the "report comment?" confirmation dialog, I get a force close. Tested on nexus7 and gs3
In tablet mode (two pane), you can identify top level comments via the indentation -- but this is not easy on the eyes, and takes some effort. Can the top level comments be highlighted with just a lighter/darker shade of color for easy identification?
Another way of foing this would be to add a vertical color bar like in BaconReader -- however I think the above method would be better.
Would be nice to be able to type in a subreddit, for casual browsing.
I don't want /r/apple in my stream, but occasionally I want to go there to follow a story.
Just trying to work on the project in Eclipse, and if it were possible to move the code out of main.java.* so it is simply org.quantambadger.* would negate thousands (7000+) of errors in Eclipse. I can make a pull request if you would like.
Edit: I have done this locally, but there are still an insane amount of errors. What do you use to code it, and for error checking, as it is simply not working in Eclipse with all the missing dependencies from holoeverywhere, etc
If you have a comment that has multiple links in it, when you click the comment and select links in comment
from the menu, the resulting popup displays the links in random order.
For example, comment has the following links
link1
link2
link3
link4
When you click links in comment
they will be presented as suck
link3
link1
link4
link2
When using a Lenco Tab-900, the UI is detected as a Phone. When the option is set to force the application layout is ok.
Having briefly looked at the code, it seems that redreader does not work as described on the page here. http://developer.android.com/guide/practices/screens_support.html#DeclaringTabletLayouts
As building in Eclipse is problematic, I haven't been able to dig too much into how to solve this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.