1. Remove 'db level' from objectlib (this belongs to the app!)2. change ScreenPlay's 'mObject' to be an ObjectType.
Simplifications
Move PreRender to objectlib.This code is now shared betweeen the Rubik and Tutorial activities.
Move yet more code to objectlib.
Move more code to objectlib.
Simplify TwistyObject's API.
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.
Fix the problem reported by Samsung -
1. Fire off the app2. minimize it, select 'Multi window'3. put some other app in the lower half of the screen4. close the lower app5. our app used to fail to display the upper and lower menu bars.
add possible scrolling to the 'object' popup in case the grid of objects does not fit on the screen.
Progress with RubikControl.
Fix a rare crash.
Introduce a BlockController - a watchdog which makes sure the Touch and UI blocks do not take too long.If it detecs a long block, it unblocks and reports the situation to Crashylytics.
Abstract the part that controls the 'Locked' and 'Back Moves' buttons from the two activities: the main one and the tutorial one.This code had been duplicated there.
RubikControl: rotate the cube.
RubikControl: fixes; progress.
Attach the control nodes directly to the screen, not to the Object Node.
Cube Control: step 2.
Rename 'state' to 'screen'
- report the Graphics driver's Renderer and Version.- new Diamond, Skewb2 and Skewb3 meshes.
Rename packages
if a user has a verified name, set it as a GoogleAnalytics UserId
Make the Tutorial Dialog look better
Progress creating the Tutorial Dialog.
Progress creating the Tutorial Activity.
More support for using the library from more than one activity
Progress with using the Library in a second Activity.
Avoid cutouts in a new way
Avoid the possible cutouts at the top of the screen.
Spearate the concept of number of layers of an object and its size.In case of the Skewb family, this is no longer the same (Master Skewb has 3 layers but it's twice bigger than the 2-layered Skewb)
Simplify OpenGL error dialog. Show it only once.
Minor
Bigger 'OK' button in Dialogs.
Make the top and bottom bars transparent, above the GLSurfaceView.
Rename some classes.
Add lock button.
Compute the size of the Solver icon correctly.
Apply a hack so that the App enters fullscreen modee on some Huawei devices.
Remove LAYOUT_STABLE from the UI flags since that was causing trembling of the Scores dialog in some platforms.
Progress with UI
Make the keyboard visible again
Make it so that the Navigation Bar does not re-appear when we pop up a DialogFragment.
Now there's noly 1 case when it still reappears: it's when we pop up a PopupWindow.
Add hiding the Navigation bar (still unfinished, the bar re-appears when a DialogFragment or a PopupWindow appears)Integrate the Level Spinner and the Play button into oneMove the Menu button up
Correct the Dino mesh.
Skewb Mesh.
Improve Pyraminx Mesh
We need to pause an Activity in the following way:
1) Activity.onPause()2) View.onPause()3) Library.onPause()
otherwise sometimes there are artifacts when pausing!
Display the 'Privacy Policy' dialog (only if locale is set to ZH - chinese requirement)
Correction of the size of '3x3x3 Solver' bitmaps.
Make the Scores Dialog screen-size invariant.
Reinvent the Pattern Dialog (Part 3)
Reinvent the Pattern Dialog (Part 2)
Introduce HUGE ui version.
Introduce three sizes of UI images: small, medium, large.
Make the margins and paddings proportional to screen size.
Improvements to the Menu.
Remove the 'MAIN' state.Fix one crasher with two-fingered dragging in the View.
Improvements to the UI - make it proportional regardless of the physical screen size. (Part 5 - first 3 Dialogs)
Improvements to the UI - make it proportional regardless of the physical screen size. (Part 3)
Improvements to the UI - make it proportional regardless of the physical screen size. (Part 2)
Improvements to the UI - make it proportional regardless of the physical screen size. (Part 1)
Move the 'Effects' thing to a button in the Play state.
On object change, report FPS to Firebase
Convert the PostRender to a PreRender, called before we render.This makes more sense as this way things are prepared for the very first render.
Add OpenGL Error dialog.
Report an Analytics event when a user changes State or Object.
- 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 )
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 :(
Move to AndroidX, target API level 29.
Reorganize UI of the Play state.
More support for the 3x3x3 Solver: more of the actual 3x3x3 solver mechanism.