Make it possible to decide about FastScramble duration fromo outside the ObjectControl.
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!
Interface: properly support object which have numScrambles less than 8.
IAP part 5: new 'Purchase' activity (cont'd)
IAP part 5: new 'Purchase' activity.
IAP part 4: further progress with locks in the object popup screen.
IAP, part 3: non-free objects appear in the popup with a lock icon: make the lock icon's size resolution-independent
IAP, part 2: unify the way we create object popups in ScreenPlay and ConfigActivity.
Move the 'bandaged' button back to the main menu.
Simplification for the new way of storing records.
Correct the MAX level in the leaderboard.
Correct the leaderboard. Still, the 'MAX' level does noot work!
screens: license.
Make the BandagedPlay use FastScramble. (static 500 times)
correct the way we add new downloadeed objects.
Bugfix for downloading new objects.
Bugfixes.
Progress with colors in the main menu.
Progress with colors in the Menu Level Buttons.
Progress with colors in the Menu Level Buttons
Progress with central menu popup.What remains is the colors in the Menu Level Buttons
Progress with central menu popup.
- move the 'object' popup to the botton right- move the 'solve' button to the upper left- movee the 'scramble' button to the upper right (its new FastScrambleEffect still not implemented fully)
Move 'bandaged' from the main menu to the object popup.
Come back to solve/scramble in the main screen.
Do not react on end of scramblng in FreePlay!
Mark the 'Free Play' with green or red dot.
Exit button in the main screen.
New 'Free Play' screen.
On OpenGL ES 3.0, some drivers are veeeery slow linking a program which includes transform feedback - and such program is needed to apply vertex effects to meshes - which is needed to round corners of puzzle cubits.
Thus on 3.0 we switch off rounding corners of the meshes in the Creator mode, otherwise we'd need to wait about 24 seconds for the screen to appear!
Only show Bandaged option on Android >= 7.0.
Beginnings of support for UI used to create any bandaged 3x3.
Preparation for local creation of puzzles: remove the 'ObjectType' enum from TwistyObject class.
Fix for a rare crash
Another bugfix: it would crash if the new downloaded object creates a new row in the objects popup. Correct that.
Downloaded Objects more or less work now.
Refactor RubikObject in preparation for creating RubikObjects from DownloadedObjects.
Rename the 'network' package to 'external' since it will also deal with writing/reading files from local storage.
progress with the Updates: download the jsons.
Download Update icons.
Reorganize the Network so that concurrent network operattions are possible.Finally figure out and fix the bug which was causing users to multi-submit the same records over and over.
Downloading updates: dialog progress.
Progress downloading updates: dialog.
Progress downloading updates.
Corrections for the UI.
Remove 3 out of 4 object icons.
Crash fix. Also a fix for the fact that if we started solving, went out of the app, and resumed solving - the record wasn't remembered.
Crash fix.
Important bugfix
Progress with Config UI.
Move the 'currObject' from RubikScreenPlay (WTF?) to RubikObjectList.
Minor.
In the 'magic' app, ObjectType is now only used in RubikObject and RubikObjectList classes and nowhere else.This is a major step towards being able to download objects from an online repository.
Progress with ConfigScreen.
Beginnings of the ConfigActivity.
progress with UI.
Add info pane: some progress2.
Add info pane: some progress.
Add info pane: part 1.
Convert TransparentButton to Material Design.
Convert the theme to be a MaterialTheme and the TransparentImageButton to be a MaterialButton - the first forced by the second, and the second because a MaterialButton gives us control over the location of the icon in top of it. We need that because of the new 'solve/scramble' split-button in the lower right of the Play screen.
Fix for a rare crash.
Standarize icon naming scheme.
Minor
Use the latest objectlib
Correct the 'solved' icons in the Play popup.
Correction
1. Do not restore object scrambling if we freshly upgraded from some version older than 1.9.02. Bugfix for a recently introduced crasher in the Play screen.
Create the 3 Popups only on first button click - this time we can have the final screen dimensions (and also it starts faster ) Before we weree getting the screen size from before hiding navigation bars, which made the height smaller, which made the number of obejcts and levels in the popups sometimes too small!
Progress with cuboids.
'IconMode' finished.
Simplification
Move RubikControl to objectlib (as 'ObjectAutomator')Hide ObjectPreRender inside objectlib and move its APi to ObjectControl.
1. Remove 'db level' from objectlib (this belongs to the app!)2. change ScreenPlay's 'mObject' to be an ObjectType.
Remove from ObjectType info which row given object is supposed to be in. This belongs to the applcations.
Move ObjectControl, the next big chunk of code, to objectlib.
Move PreRender to objectlib.This code is now shared betweeen the Rubik and Tutorial activities.
Reename ObjectList to a more logical ObjectType.
Simplify ObjectList: now there's just one object per size.
Remove all files that have been separated into a new library 'objectlib'
Prepare the 'objectlib' package to be separated into a library module
Refactoring: split the 'objects' package into two, 'objects' and 'objectlib'.The point: we're going to need to move the 'objectlib' stuff into its own library module, and that's because we're going to create a new app module which needs access to it.
safety!
Improvements for the PopupWindows: now they work:
1) on Android 11, everywhere2) on Android 10,9,8.1,8.0 - in case of fullscreen and split-screen modes; pop-up mode still does not work.3) on Android <= 7.0 : there should be no pop-up mode, so they should be working in all cases
Fix play screen popups in case the whole app is in 'multi-window' or 'pop-up window' state.
Simplify Play Screen popups.
Make the 'Play' popup always fit within the window height.
Again abandon RubikControl (after bumping into hard-to-solve issues)