Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update scoped storage migration banner for v1.28 #3936

Closed
lognaturel opened this issue Jun 22, 2020 · 4 comments · Fixed by #3954
Closed

Update scoped storage migration banner for v1.28 #3936

lognaturel opened this issue Jun 22, 2020 · 4 comments · Fixed by #3954

Comments

@lognaturel
Copy link
Member

lognaturel commented Jun 22, 2020

The scoped storage migration banner currently reads "You must migrate Collect forms to private storage by August 2020 to comply with Android requirements." We should change this to make sure users know that in the following version the migration will be forced.

I think we need to keep some high-level context: "You must migrate Collect forms to private storage to comply with Android requirements."

Then we need to add some urgency. Possible ideas are:

  • "This will be done automatically in the next Collect release."
  • "In v1.29, the migration will be forced on install."

Here is what I think will happen in the next version (v1.29):

  • On app launch, if the migration hasn't successfully happened yet, the migration will be triggered and the full screen dialog with status information will be shown.
  • The migration results will be shown in the full screen dialog so that the user sees the message.
  • If the migration failed, the migration banner will still be displayed and will say something like "The last storage migration attempt failed. Please migrate manually."

Depending on timing, we'd either target SDK 29 with v1.29 or v1.30 (#3360). I think that to play it safe we can set requestLegacyExternalStorage to true and keep it that way until we need to target SDK 30. Technically this means we could push back the automatic migration but the longer we wait the more new users have to go through the migration so I think we should do it as soon as possible.

CC @seadowg @grzesiek2010 (who I'm sure will be as thrilled as I am when we can fully move on from all this)

@lognaturel lognaturel added this to the v1.28 milestone Jun 22, 2020
@seadowg
Copy link
Member

seadowg commented Jun 23, 2020

This all makes sense. I think "This will be done automatically in the next Collect release." is a good route for the text as it pushes that this is happening NEXT rather than at some point.

One thing we could start doing that I don't believe we currently do is to just automatically use Scoped Storage on devices that don't have any forms etc. I think we could do this by switching to scoped storage when we create the ODK dirs (probably in StorageInitializer). Does that make sense?

@grzesiek2010
Copy link
Member

Makes sense to me as well.

One thing we could start doing that I don't believe we currently do is to just automatically use Scoped Storage on devices that don't have any forms

As I remember we were thinking about it as we talked about the design for the migration process and someone probably Yaw was strongly against? Can't recall why exactly.

@seadowg
Copy link
Member

seadowg commented Jun 23, 2020

As I remember we were thinking about it as we talked about the design for the migration process and someone probably Yaw was strongly against? Can't recall why exactly.

I think initially it would have been weird as people would have expected copying files into the old "odk" dir to work. I'm thinking maybe now it's been a while, and we've been warning people we could get away with it? Unless there is another reason I haven't thought of!

@lognaturel
Copy link
Member Author

automatically use Scoped Storage on devices that don't have any forms

The reason we didn’t do this is because a new installation could need to integrate with OMK/some tool that uses a direct integration with Collect. For example, Ona has posted on the forum that they do need a way to hand media attachments to Collect and they’ll be adding support for this. In the mean time, new users of their integration would break if we forced the scope storage change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants