progress with colors in styles
common code from all activities to one BaseActivity
call setTheme before super() on all activities onCreate()
Catch the error when WebView is not installed.
clean up TwistyObject's API
minor improvement for the Updates Dialog
progress
Activity numbers.
Progress with Tutorial activity.
Progress with tutorials.
remove 'MESH_NICE'
Major progress to version 2.0.0.
Cleanups in the Activities.
LTR UI elements; rename some of them.
Unify the (small,medium,big,huge) UI graphics.
Create Tablebase in a separate thread.
Change OperatingSystemInterface
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.
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)
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....
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)
TutorialActivity: link to PurchaseActivity.
Block rotating layes of not free objects in the Tutorial Activity.
Make it possible to decide about FastScramble duration fromo outside the ObjectControl.
Partly merge the 'iap' branch.
Simplification for the new way of storing records.
solvers,tutorials: license.
Make the BandagedPlay use FastScramble. (static 500 times)
Do not crash when something's wrong with the JSON file - handle this gracefully, do not change the object then, and report this to Firebase.
Implement the FastScramble effect.
Correctly get the whole size fo the screen (along with thee top and bottom system bars) from the very beginning of the Activity.
Generalize the max number of moving parts and max size of quat group.
Minor.
Mode the 'iconMode' from static variable in ObjectControl to member varaible in TwistyObject (safer)
Preparation for local creation of puzzles: remove the 'ObjectType' enum from TwistyObject class.
Downloaded Objects: subtle bugfix. We cannot use ObjectType in ObjectControl to check if two objects are the same because DownloadedObjects have ObjectType null !
Refactor RubikObject in preparation for creating RubikObjects from DownloadedObjects.
Re-organize tutorial list so that we can pull this one from JSON files.
Container Cube: tutorials.
Pyramorphix: tutorials
Pedro Filho's and Rafael Cinoto's Brazillian tutorials.
Fisher Cube: tutorials.
4x4 Mirror Blocks: tutorials.
Add debugging for the case when people submit suspicious records.
change order of KILO_5 and MEGA_3.
Change the order
Windmill Cube - tutorials
Remove 3 out of 4 object icons.
Improve the behaviour of the Config and Tutorial activities when in the 'PopUpMode'. Also, remember the current object in the COnfig activity so that when we put it to the background and resume - the object stays.
Trajber: tutorials.
Rearrange the Tutorial list.
Introduce 'Simple' and 'Nice' meshes.
Move the 'currObject' from RubikScreenPlay (WTF?) to RubikObjectList.
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.
Beginnings of the ConfigActivity.
Add info pane: part 1.
Better error reporting.
Make the ShapeChanging the default TouchControl during MODE_REPLACE.
Correct order of the tutorials.
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 problems with TwistyObjectNode 'object scale' property.Now this property is not part of the Node at all, but its initial value passed to the object in its constructor.
Bugfixes for crashes from Firebase.
Add 7x7 tutorials.
Tutorials for the 6x6
Move the main app to the 'J1M1' object creation mode, i.e. create them from the Json files and using the Dmesh fiels as well.
Make it possible for any app descending from the 'objectlib' to use any of the J0M0, J0M1, J1M0, J1M1 modes.
Remove ObjectType from a few moree places.
Remove dependancies on Firebase from objectlib.Report such errors to the application via the Interface.
Progress with PuzzleTester app.
new API to make is possible to adjust default scale factor in each TwistyObjectNode.(and use it in Tutorials, where the object needs to be smaller)
Major change: separate the notion of a TwistyObject and its Node. Now,
1) the Node stays when we change objects (this makes transitions faster)2) it's possible to just create an Object without adding it to the Screen (now app needs to explicitly create the Node and add it to its Screen itself)
Use the latest objectlib
Tutorials
Remove unneeded API.
Relax objectlib's requirements: it can be displayed not only on top of a DistortedScreen, but any DistortedFramebuffer.
Use the off-center objects to display the object in Tutorial mode properly.Now it is not covered by the right bar!
Further simplifications.
Remove the concept of a 'TwistyActivity' altogether.
Hide most of the TwistyActivity methods inside objectlib.
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.
Simplifications
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.
Move yet more code to objectlib.It's almost possible to move the PreRender to objectlib now.
Move yet more code to objectlib.
Move more code to objectlib.
Simplify TwistyObject's API.