Refactor the native interface in preparation for switching iOS to use WKWebview.
* Finally rename the folder for device specific interfaces as `tablet` instead of `iPad`
* Update `import` statements to use the new name
* Create new `iOS.js` and `Android.js` based on previous `iPad/iOS.js` to separate the interfaces
* Add new `OS.js` class to manage the class variables, initialize the device interface delegate methods to the correct interface.
* refactor how `utils/lib` detects the current platform based on `navigtor.userAgent` based on https://stackoverflow.com/questions/37591279/detect-if-user-is-using-webview-for-android-ios-or-a-regular-browser. previous method relied on the Android interface being loaded or not. It can be difficult to detect the difference between in a browser and in a webview, but for now ScratchJr doesn’t need to worry about running in a browser
Added instructions to the README for how to get the google services configuration files for analytics. Removed (and ignored in future) the empty config files. Note: empty folders are ignored in git, so added an empty file `.exist` to the android folder so that it will be there as a place to hold the actual google services file.
Finally added the xCode scheme for the app that you need for newer versions of xCode.
* add required new app icon size
* add `LSSupportsOpeningDocumentsInPlace` property (false)
* set minimum iOS version to 8.0 (minimum allowed by this version of xCode)
Added:
- German
- Japanese
- Portuguese
- Swedish
- Chinese (China)
Needed to modify Localization utilities to handle China locale in additional to language.
Ran svgo on all the UI SVGs to minify them. Library svgs are converted to pngs as part of the build process, so they are not optimized (it breaks the current conversion script)
* Adds a usage cookie
* Only asks for usage on first launch
* will need checking with the official version to make sure the right elements are showing/hiding.
Position selected checkmark pseudo element absolutely to fix bug on Android.
Fix fontsize at 34.5px (previous font size relative to view height looked good on iPad, but was too small on 16:9 android)
Increase the width of blocks guide category headers (the colored bar for each blocks section)
This will work until there's a language with even longer text. Probably should switch to a min-width with padding-right for the long term.
change css for sharing buttons from min-height which only looks good when the text is one line, to padding-bottom to support localizations that are more than one line (e.g. Spanish)
FIxes#42