Closed lukpueh closed 7 years ago
(I've updated the description to strike through the last two paragraphs, as that idea would force the user to accept non-Play apps.)
By the way, let's not forget about user feedback (#10) during the installation process.
I agree with @aaaaalbert about forcing 3rd party apps.
@yyzhuang and @aaaaalbert: Sounds good to me. It was just a thought.
Another orthogonal thought was to ship out the base seattle android installer
with the app and only download the vesselinfo
from the custom install builder. Or even crazier, we could URIencode the vesselinfo and pass it as referrer to the Play Store, which is available to the app at install time and would eliminate the need for any additional download.
Base installer in the app has some appeal as there would be only one big download upfront before the app can install. It would create some slight ugliness in the app build process though.
vesselinfo in the Referer would be awesome, but URIs are oddly limited in length across HTTP client software, so I wouldn't bet on vesselinfos to get through unmangled. I don't see this happen right now.
Here's what I (in loose agreement with @aaaaalbert) would like to have for now: Two installation UIs (i.e. fragments) auto and manual:
auto The auto installation UI only displays a welcome text and a button that leads to the manual UI. When the app is started it should present the auto UI and perform the following actions:
res/raw
to the app's data dir if not already there (e.g. check for files/python
dir).files/seattle
dir)seattleinstaller.py
if it has not been run before (e.g. check for files/seattle/seattle_repy/v1
) nmmain.py
if it is not already running. We could check this by looking for a certain named android service process, e.g. proc1
. This would require to dedicate one of the pre-defined service processes to only be used to run nmmain.py
. Additionally we have to fix native process accounting.Additionally, it would be nice to display some sort of user feedback while above actions are carried out (e.g. a progress bar or spinning wheel) and when the actions are finished (e.g. a Toast or notification). See https://github.com/aaaaalbert/sensibility-testbed/issues/10 for a discussion on user feedback.
manual The manual installation UI can look like the currently available UI with buttons to
seattleinstaller.py
nmmain.py
The same user feedback as above would be helpful and in addition we could/should disable the buttons while the actions are carried out.
I think we can consider this issue addressed. The install-ui
branch has all the GUI niceties, and the new setup docs describe the installation steps which have also been streamlined thanks to a proper Play Store release, direct QR-to-Play-Store linking, and installation process feedback on the GUI. Thanks @lukpueh and @msk610!
We need to re-enable the existing app/Seattle installation procedure which looks like this:
On seash machine (e.g. laptop):
On android device to be donated:
res/raw
dir to data dir)While we are at it, we might as well streamline the process:
~An orthogonal idea would be to self-host the App installer and re-package it with the custom seattle installer before the user installs it. This would eliminate the extra seattle download step on the device and would also facilitate re-occuring roll outs of the app.~
~Note: I haven't tried but it should be possible to just unzip an
.apk
file, add theseattle_android.zip
including the customvesselinfo
tores/raw
and re-compress.~