VCMI for Android

Ok. @xyz sent request to transfer app to my developer console.
There also signing keys for app that Iā€™ll need grant to Fay.

Okay, I accepted the invitation.

Things to consider:

  • Iā€™m not very good with legal stuff, but Iā€™m pretty sure Iā€™ll need to add some info about 3rd party libraries and possibly a privacy policy as well (google has recently become way more strict about it)
  • keep in mind that the app is currently build against vcmi/develop (b7a19fd); wouldnā€™t it be better to wait for stable version?
  • I didnā€™t test the last version extensively (only my device + few emulators) so itā€™s hard to say if it works correctly everywhere

If we plan to update the existing app, it becomes more complicated.

  • app will still need to use id ā€œis.xyz.vcmiā€ ā€“ Iā€™m pretty sure itā€™s not possible to change it for already-published apps
  • at the moment Iā€™m not certain what to do about the update process; I use slightly different way of handling OH3 data files so the new app wonā€™t detect previously added files

Iā€™ll try to look into it and and ping some Android developers I know and in IRC.

No good answer for this. One important point: is all code changes merged in develop?
If no this is what you need to start with. Weā€™ll also benefit if you join our organization on github and move build system repository here.

And for building stable version I really not sure if itā€™s worth to wait since this would be quite long waiting probably. Like I wish to have tons of time to test and merge everything, but I only have so muchā€¦ :frowning:

In same time we donā€™t have any working version for Android at all so I donā€™t think weā€™ll make it worse.

Is that a problem at all? I donā€™t think anyone care what package name is and if xyz going to get some weird credit for his previous work that not problem too.

Thatā€™s better to be solved one way or another.

Is there any way to detect when application was updated from older version? If there is then itā€™s would be enough to notify users who updated it that path files changed and they need to move assets. I doubt anyone seriously playing older version since itā€™s wasnā€™t really playable at time, many might have it installed.

Also once we get new version I want owner of this one to get it unlisted:
play.google.com/store/apps/deta ā€¦ vcmi&hl=en
Or if he agrees he can transfer ownership too. Then we could update it once and suggest to install another app instead and then unlist it so itā€™s not confusing anyone.

Well, technically I am an android dev. :stuck_out_tongue:
3rd party licenses definitely should be placed somewhere in the launcher.
Donā€™t know about policy, because vcmi doesnā€™t really do anything with user data ā€“ the only thing that could qualify is probably sdcard reading/writing.

Do you mean my changes in vcmi? Currently theyā€™re here github.com/Fayth/vcmi/tree/android-support ā€“ I can start a pull request to vcmi/develop if thatā€™s what you meanā€¦ probably not today though. I tried to wrap all android-specific logic in VCMI_ANDROID define so hopefully the wonā€™t be any problems, but currently I donā€™t have any environment installed to check if the desktop version complies correctly.

Sure. I think itā€™s a good idea that vcmi team has the ownership over this.

If you feel that the current vcmi/develop version is stable enough to be published then thereā€™s no problem on my side.

No technical problems. Only the fact that google suggests that your appā€™s id should reflect the domain that you own. But itā€™s not really a problem, because itā€™s not a hard rule, just a guideline.

No built-in mechanism. Usually apps just save previously launched version number and check it on startup.
In our case, we should probably try to detect datafiles in the old location and move them if possible. Should be doable.

Sadly this is something I have like zero idea about so all I can do is just google it.

Just create pull request and Travis will compile it. :wink:

Weā€™ll also be able to find if there something need to be fixed.

Welcome to team! If seriously we obviously not give everyone access to main repository since not everyone actually need them, but I think github have teams inside organizations so there no problem to invite you and then let you control repositories you want and non-develop branch.

Warmonger / AVS might need comment on this though since I donā€™t have full permissions on github.

I donā€™t think itā€™s stable, but itā€™s far better than 0.97 for sure.

I think they forgive us. Or we could ask for ownership over other package later that in fact represent our domain.

VCMI Organization membership give no additional access, only Teams do and on repository level. There is no way to control access to individual branches

@Fay I`ve sent invitation

There is. GitHub allow to limit pushes to protected branches from certain teams:
help.github.com/articles/about- ā€¦ -branches/

So for instance we can let Fay to keep Android-specific changes in main repository branch even without giving develop (protected branch) push access. Of course we can also just ask nicely to not push directly anything unless itā€™s absolutely obvious and tested fix.

Okay, so I accepted the invitation and created the pull request.

Currently I canā€™t transfer the launcher project, because ā€œYou donā€™t have the permission to create repositories on vcmiā€.

I suppose you need permissions to create repositories.

BTW I also need it since I want to upload server configuration to github organization.

Repository creation should be allowed now.

@Fay
Another thing I want to request once you have free time for that.
Try to setup Android build for Travis CI, itā€™s will be really helpful.

I transferred the launcher repo to vcmi ( github.com/vcmi/vcmi-android ).

I can look at the CI config after android support pull request is sorted out.
In theory it should be possible to automate the build without much problem (because it already works kinda automatically via the python script), but at the moment Iā€™m not sure what I need to specify there. Anyway, I will check that out.

Maybe a long shot, but dailies for android build?

This is one of two reasons why we need CI. Since we now have plenty space to host them there will be at least builds for Windows and OSX from Travis.

Okaaay, so after reading a bit about travis, I added an experimental config to lint.travis-ci.org/vcmi/vcmi-android says itā€™s syntactically valid, but I canā€™t really check anything more).
travis-ci.org/vcmi/vcmi-android says that travis is not enabled for this repo so I think you need to turn it on manually to check?

Btw, android app on master should compile/work correctly on android 4.1+.

I`ve enabled travis for "vcmi-android ". Next commit there should trigger build.

Okay, I tinkered with it for some time, but have to give up for today.
I think Iā€™m past ā€œobviousā€ errors already, because travis starts actual cmake build. Hopefully not much left until it builds correctly, because there errors are killing me. :stuck_out_tongue:

Might be will be able to check whats wrong in few days.
If build starts then dependency hell shouldnt be so much of a problem.

Iā€™ll probably be able to continue working on it tomorrow. But if itā€™s still broken after few days, youā€™ll be welcome to help. :wink: