Commit graph

16 commits

Author SHA1 Message Date
Chris Garrity
ec9387115f Avoid concatenation in AndroidManifest
Trying to use the extension pattern this way gets an error when uploading the APK to Google Play, so just hard code the extension patters. This won’t work for PBS kids version.
2020-04-21 09:52:42 -04:00
Chris Garrity
1e3d468c33 Don’t export as email message, and be less strict about import requirements
Don’t export as email message. and be less strict about import requirements.

Android intent filters are really only designed to work with standard mimetypes (like ‘image/png’). Even if you can share something with a custom mime type, it’s likely to get lost somewhere along the way, from email, or Gdrive, or Files app etc.

Path matching patterns in intent filter only apply to `file` schemes, `content` scheme is likely to be some generated id in temp storage. `content` filters maintly go by mimetype, but as noted above, a custom mimetype has often gone AWOL. Generic application files are usually downloaded as `application/octet-stream`. Basically we have to trust the user not to try to load some other random file into ScratchJr. The import function will fail and give an error message if they do.

Finally, fix the way we’re sharing ScratchJr files. While the button says ‘Share by Email’ for a long time Android has shown a selection of ways to share the file. However, we were setting the mime type as an email message so the saved file would always try to open in an email client instead of ScratchJr.
2020-04-13 17:07:38 -04:00
chrisgarrity
098b2dc68a
Merge pull request #255 from LLK/require-touchscreen
Require touchscreen in the Android manifest
2020-04-07 15:09:06 -04:00
Chris Garrity
16ee3f9213 Require touchscreen in the Android manifest
Fixes #233
2020-04-07 15:06:08 -04:00
chrisgarrity
bca5f433ae
Merge pull request #206 from beskrovnykh/develop
Fix can't import .sjr
2020-04-07 15:00:10 -04:00
Chris Garrity
9a12f98cf9 Add checks for filetype, skip unnecessary FileIO
This PR was 95% of the way there, and I didn’t want to ask for changes after not getting to review it for so long, so I just made the changes.

Thanks for submitting!
2020-04-07 14:56:26 -04:00
Chris Garrity
b965440709 Switch to firebase analytics
* Remove ScratchJrApplication class - it was only being used to initialize the old Google Analytics.
* Change AppUsage (home, school, other, noanswer) from being a prefix on `label` to being a Firebase user property.
* Set the user property when loading the index page - it shouldn’t change for the rest of the session.
2019-10-21 10:48:03 -04:00
DD Liu
57bcffea6c Update to gradle 5 and update support dependencies 2019-09-09 16:15:24 -04:00
Andrey Beskrovnykh
1a2433885d Fix possible backward compatibility issue 2018-11-23 10:50:56 +07:00
Andrey Beskrovnykh
d7bd9789dd Fix can't import sjr 2018-11-22 21:23:36 +07:00
chrisgarrity
184b5ba6f9 revise minimum screen width
The previous change removed the legacy screen sizes, but left the `requiresSmallestWidthDp` at 500. According to https://developer.android.com/guide/topics/manifest/supports-screens-element#requiresSmallest, a 7-inch tablet corresponds to 600dp.
2018-10-29 15:21:58 -04:00
chrisgarrity
1fcdff79f2 Remove unnecessary screen settings from manifest 2018-10-01 17:12:03 -04:00
chrisgarrity
ef04f2e1e2 add default uses-sdk
PBS Kids has automated testing that looks for uses-sdk with a minimum targetSDK of 23. Even though this gets overridden in the build.gradle settings, adding a line with default values to get through their testing.
2016-08-12 10:48:49 -04:00
chrisgarrity
2245410d99 Update SmallestWidthDp in manifest
Changed android:requiresSmallestWidthDp from 600 to 500.
Android suggests that 600 is a normal value for 7 inch tablets and up. It turns out that many 7-inch tablets are in the 500-600 range (half of the Amazon ones for example).

Fixes #85
2016-05-16 10:29:49 -04:00
chrisgarrity
fca4cd04cf Make microphone optional in manifest 2016-05-09 10:59:44 -04:00
Tim Mickel
e88af5b6df Initial commit 2016-01-08 14:31:04 -05:00