Hopefully get rid of the most common crash in the field right now by changing the States to always create all their Views from scratch.
Bump version to 1.2.0
1) Cube: convert it to the latest library. Main difference: objects are rendered better, individual cubits have rounded corners.2) Examples: some adjustments to MeshJoin & Predeform3) Library: fix a bug in main_vertex_shader's 'degree' function, which didn't work proprely in case of a vertex which was exactly at the center (i.e. vector PS was zero)
In library: allow a mixture of a deep and shallow copy of a Mesh ( mVertAttribs1 might be copied deeply or shallowly, mVertAttribs2 are always copied deeeply).Port RubikCube to the new library.
correct Qatar flag & add Trynidad flag.
We have
- three bugfixes for crashers as seen in Firebase - one fix for a nasty logic error - improvements to the Scores Dialog - new Ivory Coast flag :)
so it's time for 1.1.4
Fix a nasty logic error that let people submit bogus results.
Fix for the next crash seen in the field.
Fix for a crasher seen in the field.
Minor.
Improve the way we fill up the Scores tab - now it follows what user's doing, so if he changes tabs when the dialog is filling up, he won't have to wait so long.
Add Ivory Coast flag.
Smaller halo.
Again we have 2 bugfixes for crashers seen in the field and updated zh-CN and zh-TW translations.Bump version to 1.1.3 then.
New Traditional and Simplified Chinese translations.
Fix for another crasher from the field.
Change the Postprocessing effects: separate the radius and the halo.Reason: we needed a way to specify the size of the halo around a postprocessed object; before it was automatically (and not very correctly) computed from the radius - before we knew the size of the object's bounding box, so this automatic computation was possible. Now we're removing the MashBase.getBounding(0 API, so the size of the halo has to be explicitly given by the user. This way is more correct anyway and gives the user more control (as the Multiblur app proves!)...
Fix for the next crasher from the field.
Adjust the app to match the changes in library.
Looks like we'll have to add 1 dim to the GLOW effect.
Remove the 'touchscreen required = false' from the manifest (because or a bug in Samsung App Store - it marks such apps as incompatible with any device)
One more fix for the latest bug from the field with Play state Spinner.
- bump version to 1.1.2- fix one crasher observed in the field ( we need to adjust the Levels Spinner in Play state if Object changed in Pattern or Solver states )
Fix clicking on the 'Distorted.org' link; get app version from build.gradle (and not from strings.xml)
Add Crashlytics logs
Fix for the previous fix :)
Fix a potential crasher ( do not set up a callback for end of rotation effect on the very first cubit that belongs to a rotation if all belonging cubits have not been set up yet )
Bump version to 1.1.1
Fixes for the fact that one could easily cheat - just pause the app while solving and come back to it, the time would reset to 0 and the object to unscrambled :(
Fix the Solver broken by the change of move notation when importing Pyraminx Patterns :(
Switch off Crashlytics in DEBUG builds.
Add two new UI States: Ready and Done.
Change Werner to Walter.
Correct the last 6 patterns of the Pyra5.
Do not crash if we are running on device which does not support OpenGL ES 3.0
Up version code to 2.
Remove app_version from translated strings.xml so that the version always stays in sync.
Bump version to 1.1.0 since there are 9 translations, 2 bug fixes & Pretty Patterns for Pyraminx 3,4 and 5.
Minor corrections for the translations.
9 Translations.
Fix for another crash from the field.
There's a real crash from the field in Firebase Crashlytics which must mean that Cubit.returnRotationAngle() returned null.Leave some message in case this happens again.
Add Pyraminx5 Pretty Patterns.
Add Pyraminx4 Pretty Patterns.
Add Pyraminx3 Pretty Patterns.
Change the format of moves in Pretty Patterns to more terse, so that patterns of objects with 4 axis of rotation ( Pyraminx!) fit into 3 digits.
PYRAMINX: swap the red and blue face colors so that the whole thing matches randelshofer.ch
Allow the server to correct our notion of country (improvement)
Allow the server to correct our notion of country.
Give credit to Werner Randelshofer.
Improve logging in case the Distorted Library returned an error - add Crashlytics custom keys.
Do not allow more than 15 characters in the NAME.
Fix sa bug which showed itself only on Android API 21 and 22.
Bugfix in StateSolving upper text - before when we won, and NewRecord dialog was on the screen, and at tis moment we rotated the screen, the uppoer text would revert back to 'Ready?'
Bugfix in DialogSetName - before it would not dim the OK button initially
UII improvement in StatePattern
Fix clickable links in the About dialog.
Finally solve the bug on Samsung Android 9 and 10 phones that the Dialogs Main & patterns wouldn't be modeless: move the setting of this flag earlier, to the 'onCreateDialog()' function.
Only 2 dialogs are modeless now: MAIN & PATTERNS
Lots of bugfixes.
Add Firebase Crashlytics.
Move to AndroidX, target API level 29.
Improve the Effects Dialog so it looks good on 'thin' screens ( 720x1440 )
Improve the About dialog.
1) Relax requirements as to OpenGL ES ( now only 3.0 required )2) fix a crash in Solving state
(Hopefully) make the Dialogs NOT disappear on clicks outside (previously this wasn't working on Android 9).Lower API requirements to 21.
Minor tweaks to the 'Prev' buton in Solving state;Relax requirements in the Manifest - now only 'android.hardware.faketouch' supporting device is required, i.e. something that supports basic point-click-drag-unclick. No need for full 'android.hardware.touchscreen' thing with its multitouch silliness.
Add a 'withdraw move' button to the Solving UI state.
Bugfix
Minor
Make chances to randimoze a given row when scrambling dependant on the type of Object.
The point: in case of the Cube, all rows should have equal chances. In case of the Pyraminx, the smaller the row, the smaller the chance should be. In particular the trivial 4 corners of the tetraherdon should have a very small chance to be selected.
Bugfix.
Each object size now has its own number of levels (not always 18!)
Reorganize UI of the Play state.
The 3x3x3 Solver finished - here the last piece of work, locking the centers of the 3x3x3 cube in place so that RubikStateSolver's color picker cannot change them ( the CUBE3 solver assumes this )
Progress with the Solver - RubikCube.retObjectString() finished.
What remains to be done here: ban changing colors of the centers of 3x3x3 faces, this shouldn't be allowed!
Progress implementing RubikCube.retObjectString()
Progress making the Solver state more abstract.
Make the Solver state more abstract.
Formatting: remove tabs.
Progress with the 3x3x3 Solver.
Hopefully the only thing that remains to be done is to implement the RubikStateSolver.retCubeString().
More support for the 3x3x3 Solver: more of the actual 3x3x3 solver mechanism.
More support for the 3x3x3 Solver: add the actual 3x3x3 solver mechanism.
More support for the 3x3x3 Solver.
Beginnings of support for the 3x3x3 Solver.
Bugfixes.