Git Product home page Git Product logo

shortyz's Introduction

Shortyz Crosswords

Build Status Waffle.io - Columns and their card count

Shortyz is a crossword puzzle application for Android that downloads a number of free puzzles, and with a paid subscription, the New York Times.

Downloading

Several services host Shortyz APKs:

Compilation

See issue #46.

Project Structure

  • ./app The Android App.
  • ./puzzlib A platform independent Java library for dealing with Across Lite and other puzzle formats
  • ./web A GWT/AppEngine web app for Shortyz that has fallen into disrepair.
  • ./gfx Art assets related to the Play Store publishing

License

Copyright (C) 2010-2016 Robert Cooper

Licensed under the GNU General Public License, Version 3

shortyz's People

Contributors

ebardsley avatar ftoresan avatar gaul avatar gtkirk avatar jonzolla avatar kebernet avatar paulirwin avatar vin 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

shortyz's Issues

Downloading past puzzles

I am unable to download past LA Times and Wall St Journal puzzles using the green download button. It has worked before but no longer does so.
Thanks!

FR: Dialogue box for downloads in progress

Currently, after we hit Download in the green cloud pop-up, we get no interim feedback.

It would be nice to get some message saying a) the requested crossword(s) was(were) found and b) is(are) downloading (with progress bar), but currently all we possibly get is the update to the list upon successful completion.

This is particularly vexing for when the requested download doesn't work -- no crosswords were found, there's a connection problem, etc. In such cases, the user has no idea whether the download is delayed or if it has failed completely, etc.

Would-be-nice-if puzzle were centered horizontally when zoomed-to-fit

When using Zoom > Fit to screen, the puzzle it aligned to the left edge of the screen, leaving lots of dead space on the right. Additionally, if the device has a raised bezel, this makes it difficult to tap the leftmost cells.

This would be overcome if the puzzle were instead displayed centered.

Incorrect cells no longer appear red

With "Show errors" turned on, there's currently no visual difference between an incorrect cell and a correct cell that used to be incorrect. Both have black text on a pink background. If the word is highlighted, then the text shows in red.

The result is that I've had a fully-filled crossword with a single incorrect letter and had to tap around methodically until I found out which one it was. :)

I think this is since Shortyz 4.1.1. I'm on Android 6.0. Related to #1, maybe?

Feature request: Pencil mode

First off...I love Shortyz and have for a long time.

One feature I've always wanted is some sort of Pencil mode. There are times I think a particular square might be a particular letter, but I'm not sure, and I just want to pencil it in to remind myself.

I can see if Show Errors is on then these squares don't count as errors, but they also don't count toward the final solve. I can see them in a different font color, like maybe a pale gray.

Thoughts?

shortyz doesn't work with .jpz files

The release notes indicate that shortyz works with .jpz files. But I downloaded some of these free Crossynergy ones to the crosswords folder, and shortyz can't see them. If I save .puz files, it works just fine. Just curious if it's a bug or a problem with the puzzles themselves. Thanks for this app!

Cannot download ANY puzzles

I have been using Shortyz on my Android tablet for quite a while, and am a serious fan ... I do a crossword puzzle a day, at a minimum. Unfortunately, starting a couple of days ago, I am no longer able to download any puzzles. Sometimes, I get a very brief download symbol but by the time I open my notifications, nothing is there. After quite a few tries, I ultimately removed Shortyz completely from my tablet after deleting cache and files, deleted a number of shortyz files that were left over (468 of them), rebooted and reloaded Shortyz. I still have the problem. Any suggestions?

Sunday's Premier crossword not downloading

Have been unable to download the weekly Premier crossword puzzle for quite some time. Shortyz used to be able to, but I have to use another app just for Premier, so I know it's still available. Any chance of fixing it do Shortyz can be my only crossword app?

Some crosswords don't download at home

Wall street journal and Jones puzzles don't download on my home WiFi, but they do elsewhere. For example, at fast food places with free WiFi. Other puzzles do download at home.

FR: nighttime mode

It'd be nice if there was a dark theme / nighttime mode or modes for shortyz. Just changing the white background to something yellowish would be good, or even inverting that and doing something like grey on a black background.

Font for highlighted incorrect answer too big

If Shortyz is set to show errors, and an error is highlighted โ€” that is, in a selected row or column โ€” it displays as red text on an orange background. As of this most recent version, the font is too large in this circumstance.

Huge clue list boxes

With version 4.1.1 the clue list boxes are so huge on my Samsung Galaxy S4 that this view is virtually unusable. Each cell measures 14x14mm, so large that only 4 complete cells can be seen at the top of the screen.

Zoom flakey and BIG RED error letter

A good while back (maybe a year or more?) there was a zoom stability problem on my Android version. That got fixed and it's been good. The latest version took it back there. As someone else noted, the only zoom that seems to "hold" is very large.

Also...is there a way to get rid of the large red letter when it's wrong? The old way was fine and the big red letter is obnoxious. I don't care if it's the default but we should be able to not have it....unless I'm missing that option.

THANKS

Compilation instructions

To compile Shortyz I needed to remove the androidkeyinfo.properties and signingConfigs parts of app/build.gradle. Could we modify these to make it easier for other contributors to work on Shortyz? This would enable other services like Travis continuous integration.

The README.md should also include any other setup such as:

echo sdk.dir=/path/to/android-sdk-linux/ > local.properties
JAVA_HOME=/path/to/jdk-7 ./gradlew clean assembleDebug

Disable Swipe does not disable swipe

I have Disable Swipe checked in settings, and have restarted many times since. This does nothing, if I happen to move my finger the wrong way, off to the archives goes the puzzle. And, as mentioned in another report, unarchive doesn't work.

This puzzle requires entering "3" from the keyboard

Solving the LAT Sunday Calendar crossword puzzle for January 10, 2016 ("Triple Play" by Merl Reagle) requires the ability to enter a "3" in 16 of the squares. Shortyz won't let me do that. Apparently the only way to solve the puzzle is to use the REVEAL option.

Non-alphabetic characters in Puzzles (NYT Sunday SEpt 27 2015)

Sent you a note about this elsewhere. NY Times Sunday Puzzle 9/27/15 utilized non-alphabetic characters in the puzzle (in this case, the ".) If this is going to be a trend, can anything be done to allow access to non-alphabetic characters in Shortyz?

Never get Washington Post puzzle

I have The Washington Post selected and have downloaded on several Sundays. Never get the Post puzzle. Do I need to do something else? Thanks.

Feature request: option to show errors only for full words

Show errors for a word only when all its boxes have been filled in, and mark the whole word wrong (except the letters that are part of an intersecting, fully-filled correct word).

Basically, when I'm working on a crossword and I have an open block, I may have an idea for a word, but I'm uncertain about it. I want to know if it's right when I enter it, but I don't want any hints if it's not right. Usually I do this by turning on "show errors", and then if the first letter is wrong, I know the word is wrong. But sometimes, the first letter is right but the word is wrong, and now I've gotten a hint for what the real answer is.
Example: the clue is "Avoid", 5 letters. I enter EV for EVADE, and the E is right but the V is wrong, I now know that it's ELUDE and not SPURN.
Under this new mode, once I enter EVADE, the whole word is marked wrong. I know that my answer is incorrect, but I don't have any more information than that.

A slightly smarter implementation would not mark the boxes that have the intersecting word fully filled-in and correct (since you know that box has to be right, since the whole word is right). So if there was an intersecting clue "Hot rock" and I correctly entered LAVA like so:

 L
 A
EVADE
 A

The E and ADE would be marked as errors, but the V would not.

Rebus

Does Shortyz have the capability to enter more than 1 letter in a square (rebus)? The NYT crosswords often requires this on Thursdays and Fridays. If so, what is it? If not, what is the workaround?

Feature request: multiple select

Currently, if you long press to select a crossword, and then long press on another to select it as well, the selection menu stays but both crosswords are deselected. Having multiple select would be useful; I have a lot of crosswords in my archive; it takes ~20 seconds to refresh after a delete, so mass deleting would be a great help.

Zoom not saved/respected unless ultra-high magnification

With the 4.1.0 release zoom settings are no longer saved/respected unless the zoom is ultra-high (approximately 3 to 5 squares across on my phone). If my puzzle is at or near maximum magnification then when I exit and re-enter the puzzle, it will be at the same magnification. If my zoom is at any lower setting then every time I exit and re-enter a puzzle the zoom will be "fit to screen", which is often unusable on large puzzles on phones.

Feature Request: Accept download request intents

The request is to be able to accept download requests on Android for .puz files sent from other apps.

I subscribed to the RSS feed for BEQ and I can download the .puz files on a Mac. On Android, with the my feed reader (NewsBlur) or Chrome, I can click on the link and my phone suggests Shortyz as a download agent for .puz files. If I choose Chrome, the .puz is placed in /sdcard/Downloads and I can manually move the puzzle with a file browser but then the file is incorrectly placed by name in Shortyz list view, not by source. I suspect nearly everything is in place and that the final plumbing needs to be put in place.

I suppose an alternative would be for Shortyz to import .puz files in ~/Downloads

Swipe to move cursor

Currently, tapping the grid moves the "cursor", and multi-touch gestures try (often in vain) to change the zoom. But swiping with a single finger doesn't do anything.

I use the native keyboard (with no arrows) and like to keep the whole puzzle visible, but that makes tapping on particular cells really fiddly sometimes. So perhaps a single swipe could move the cursor one cell in the swiped direction?

No (easy) way to see puzzle stats

When a puzzle is completed, you get a popup with some stats: time taken, number of hinted cells, and the like.

If you ever want to see that information again, you have to "solve" it a second time: make an error (or clear a cell), exit out of the puzzle, go back into the same puzzle, and then fix the error.

The elapsed time already appears in the "info" popup; maybe the rest should as well?

I do also wish there were a listing of my hint rate somewhere, so I could tell at a glance whether I'm getting any better at NYT Saturday puzzles :) Maybe shade part of the puzzle list's "completion" circle differently to indicate how much hinting was needed?

Unarchive does not work

After long pressing a crossword in the "crosswords" list, the "X" in the top bar archives the puzzle. Long pressing a crossword in the "archives" list gives the same button, but it does not move the crossword back to the "crosswords" list; in fact, it does nothing.

"stop at end" + "skip filled boxes" acts incorrectly for words that end at the edge of the puzzle

This happens when the movement style is "stop at end" and "skip filled boxes" is checked, and you have a word with some letters at the end filled in (e.g., CRO_SW_RD). If you fill in the S, the cursor will correctly skip to the next open slot. If the word does not end at the edge of the puzzle (i.e., there is a black square after the D), filling in the O does not move the cursor. I believe this to be the intended behavior. However, if the end of the word is at the edge of the puzzle, filling the O will cause the cursor to skip to the end of the word (i.e., the D).

FR: Playboard padding/margin option

An option to have to have some padding/margin deadspace on the edges of the board would be appreciated, as it can be difficult to select boxes near the edge of the screen with certain phone cases.

Crashing in clue mode

(Android 4.4.4) In clue mode, if any of the letter boxes are tapped to select, the program stops.

Bug: time zone differences lead to duplicate downloads

Currently abroad in China (12 hours ahead of EDT), and I've noticed Shortyz has a tendency to download some puzzles more than once, assigning the puzzle to consecutive days.

So, for example, the Saturday Newsday puzzle downloaded at around 5 PM Saturday local time in the Saturday slot;

Then, this morning (Sunday local time), Shortyz cleaned to have downloaded a new puzzle, but actually it just downloaded the Saturday Newsday puzzle again, this time assigning it to the Sunday slot.

Related to #31.

Joseph Crosswords autoscaling incorrectly

With my tablet locked in portrait mode, Joseph Crosswords scale larger than they should, and are overlapped by the keyboard.

The crosswords are non-square, and it looks like they may scale for the smaller width rather than the height.

Scrolling is Too Sensitive

  1. I love Shortyz! Thanks for making it and continuing to work on it!

  2. You need to apply some kind of "drag length" to scrolling. It's nearly impossible to select a cell to edit, because even one toxel* of movement is interpreted as a drag.
    *touch element; like a pixel, but for touch sensors

This concept has been around since the early days of mouse input (see: Windows 3.0 mouse control panel), so it should be a no-brainer for touch input, but this is one of a number of apps I use regularly that sorely lack it.

I have absolutely no Android dev experience, but when I get to my PC, I'll take a look at the code and see what I can see (maybe it's built into the touch API shrug).

Double character with Bluetooth keyboard

I have the Dell Android tablet with integrated Dell bluetooth keyboard. When I enter a word I get double the first character and then the rest of the characters I type but in the wrong boxes. Dell support says that this is a timing issue in your application and not a problem with Del'ls version of Android.

ArrayIndexOutOfBoundsException in LA Times Nov 21, 2016

When entering "bela" in 13-down:

java.lang.ArrayIndexOutOfBoundsException: length=15; index=15
       at com.totsp.crossword.puz.MovementStrategy$4.getIndexOfLargestWhitespace(MovementStrategy.java:332)                        at com.totsp.crossword.puz.MovementStrategy$4.move(MovementStrategy.java:266)
       at com.totsp.crossword.puz.Playboard.nextLetter(Playboard.java:492)
       at com.totsp.crossword.puz.Playboard.nextLetter(Playboard.java:496)                                                         at com.totsp.crossword.puz.Playboard.playLetter(Playboard.java:538)
       at com.totsp.crossword.PlayActivity.onKeyUp(PlayActivity.java:877)                                                          at com.totsp.crossword.PlayActivity$4.onKey(PlayActivity.java:288)
       at android.inputmethodservice.KeyboardView.detectAndSendKey(KeyboardView.java:828)
       at android.inputmethodservice.KeyboardView.onModifiedTouchEvent(KeyboardView.java:1351)                                     at android.inputmethodservice.KeyboardView.onTouchEvent(KeyboardView.java:1214)
       at android.view.View.dispatchTouchEvent(View.java:9300)                                                                     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)
       at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)                                                at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)                                                at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)                                                at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)                                                at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)                                                at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
       at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2553)                                                at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2254)
       at com.android.internal.policy.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2403)                         at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1737)
       at android.app.Activity.dispatchTouchEvent(Activity.java:2771)                                                              at android.support.v7.internal.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:59)
       at com.android.internal.policy.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2364)                              at android.view.View.dispatchPointerEvent(View.java:9520)
       at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4230)                              at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4096)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642)                                                     at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3695)
       at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3661)                                                     at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3787)
       at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3669)                                                       at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3844)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642)                                                     at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3695)
       at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3661)                                                     at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3669)
       at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3642)                                                     at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5922)
       at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5896)                                                   at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5857)
       at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6025)                                  at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
       at android.os.MessageQueue.nativePollOnce(Native Method)
       at android.os.MessageQueue.next(MessageQueue.java:323)
       at android.os.Looper.loop(Looper.java:135)

WSJ not downloading

Trying to download Saturday x-word. It labors awhile, but the puzzle never appears. It's been about 3 weeks. Thanks for your work on all this.

Unable to play old Newsday puzzles (Android Nexus 5)

I just started to get into crosswords on a regular basis, and November 2016 seems to be working fine. October 1st-6th seems ok too.

Problem occurred when I tried to download Newsday from Jan 1st 2016. It seemed to "download", but without a witty caption/title. Opening this puzzle causes Shortyz to crash. I tried Feb 1st, March 1st, April 1st... etc. all through September 1st, 2016. All of these Newsday puzzles are missing captions and upon opening cause program to crash.

Hopefully someone with this repo checked out is able to quickly see what it is that's causing corrupt downloads. Not sure if this is affecting crosswords not from Newsday.

Option to toggle "show error" behaviour when launching puzzle

By default, the application currently remembers whether you have show errors enabled or disabled. If after checking one puzzle, I move to another that I've only partially completed, I'm likely to forget to turn off "show errors", and will accidentally mark up a puzzle I was in the middle of.

Because of this, it would be nice in the general options menu to have a toggle to set default behavior for "show errors" when opening a puzzle to be 'force off' or 'last selected' (I.e. current behavior).

If I can get some time to set up the build environment and do it myself, I'll try to submit a PR, but that's not likely to happen until the summer.

Bug: puzzle download menu shows wrong day

When you open the menu to manually download a puzzle, it displays the wrong day of the week in the upper left corner. For example, it will show December 25 as being Saturday. It's a minor bug but can get annoying.

Day/Date

This is No Big Deal but if you are ever working on the date selection code you might take a look.

When I first click the download button I see a date selection box with a blank top left corner. When I move the day up or down, the day of the week displays in the top left corner and it is consistently one day greater than actual. The download and puzzle list show the correct date.

Right now it's is Tuesday September 29 but the date box shows Wednesday September 29. At the moment it is 7:56 AM EDT, 11:56 AM GMT but I've tried it at different times and it doesn't seem to matter. I can't pin it to a release, I noticed it months ago but didn't report it. It may even date back to last year's leap day.

As I said it's no big deal. I'm only mentioning it because I noticed the GitHub link in the latest release notes. Thanks for all your work.

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.