Initial support for configuring the stickers.
rename the 'Config' package to 'Info'
make SORT_SHAPE the default
progress
Progress with sorting the objects by various criteria.
test of push from Windows2
test of push from Windows
minor
Add the Settings button.
bugfix.
bugfix
bugfixes
progress with PlayActivity - colors of the level buttons.
Remove all old UI 1.0 classes
Progress with the generic PlayActivity.
Progress with PlayActivity
Progress with Tutorial activity; make the main ObjectPopup look nicer.
Progress with tutorials.
remove 'MESH_NICE'
Initial support for the new Pattern Dialog.
Version 2.0: add Solver Activity.
Major progress with version 2.0.0.
Major progress to version 2.0.0.
Minor
Cleanups in the Activities.
Slightely improve the scores dialog.
Unify the (small,medium,big,huge) UI graphics.
ask for reviews morebump to 1.13.3
Remove the generic 'MINOR' object and extras versions from JsonWriter, and replace them with per-ObjectType values. This was the reason why objects which had their 'minor' (really: version) updated to '1' in the server then never updated the jsons with locally stored versions.
Progress with Bandaged UI.
Improve the 'FactoryBandaged' API.
speedups (correctly remove the internal walls of joined elements)
Create Tablebase in a separate thread.
Show the same time format in the 'NewRecord' and 'Solved' dialogs as well.
Improve the way we display time in the Scores dialog
Change OperatingSystemInterface
Move the SharedPreferences to the OSInterface
Start moving the SharedPreferences to the OSInterface
Move opening local files to the OSInterface
Move the interaction with touchscreen to the OSInterface
Move the OSInterface to a separate module
Separate a OSInterface from LibInterface
remove all references to android.Context and android.Activity from distorted-objectlib
Decouple (to a large degree) the OpenGL Library from Android.
Speedups for setupPosition(). Now the 587 moves of the Burr Cube is getting done visibly faster.
Up target SDK back to 33.
Dialog About.
Tablebase-based scrambling.
Introduce InitAssets. We'll use this later to pass on references to the tablebase file to the TwistyObject (so that it can use this for perfect scrambling)
Remember last solver type in preferences.
Unblock PreRender's scrambling & solving oonly AFTER we change screen to READ post-scrambling (otherwise it was possible to press the 'solve' button in the brief period between unblocking and switching screen because switching screen runs on the background UI thread)
What's New dialog: improvements.Remove the About dialog.
Progress with the Camouflage 3x3x3.
What's new dialogBump version to 1.12.0
UI iimprovements inthe Solver screen.
Progress with solvers dialog.
Some improvements to blocking, mostly to the names of variables.
Finally fix the 'impossible records' bug!
Thanks for a bug report from Jacob Powell - if one, during scrambling, minimized the app and re-entered it, the UI lock got removed (by a call to 'unblockEverything' from RubikActivity's onResume) and one could then keep solving the object mid-scramble....
Continue unifying all the dialogs under one RubikDialogAbstract.
More fixes for UI in case of extreme screen (w/h) ratios ( from 1.0 to 2.0 ).
Move the control of object scaling out the objectlib.Thee xact way the object is scaled needs to be decided in the app, as only the app knows that e.g. in the Rubik main screen, if it is a square, then obejct needs to be a bit smaller than in case of Config screen (if that one happens to be a square)
Further improvements for the UI.
Improve UI proportions on squarish screens.
Progress with 'Stars' dialog.
Released 1.11.6 version
Make it possible to decide about FastScramble duration fromo outside the ObjectControl.
Make several objects built-inoone fix for USE_IAP
Very important bugfix for an issue which probably has been the reason for many mysterious behaviours in the past: the JsonReader class cannot be a singleton! Convert it into a normal 'instanced' class.With it being a singleton there's a major issue: when we create a new TwistyObject from a JSON file (by, for example, going to PurchaseActivity) and then we come back to the old object (by, for example, going back to the main RubikActivity) - then the JsonReader inside the old object has read the new JSON file and thus many of the 'abstract' methods in the old TwistyObject (for example getShortName()) all of the sudden start returning new values!
Purchase Pane: post-purchase dialogs.
Bugfix: properly display number of stars on new installs.
fix showing the number of stars on app startup.
Stars: introductory dialog explaining the concept of stars.
Changes to the initialization - initialize the 'bought objects'
The 'stars earned' effect is done. Works only for newStars>0.Also, there is a crash in the graphics driver on my physical LG phone.
All users who are upgrading from a version <1.11.4, where there was no concept of 'stars', get all their stars.
inc num of stars on each first recordup version name to 1.11.4
Switch off visible effects of IAP (all objects free, no 'stars' animation)
Disable writing DEPTH and STENCIL to the Screen from both the TwistyObjectNode and the Overlay Node.
Beginnings of support for 'Overlays': first overlay will be the rotating star which little stars fly to when one solves a level for the first time.
Progress with marking objects as free.
IAP part 5: new 'Purchase' activity.
IAP, part 3: non-free objects appear in the popup with a lock icon: make the lock icon's size resolution-independent
Move the 'bandaged' button back to the main menu.