This CL also automatically generate a dummy keystore for the dockerXXX targets.
Use the latest gomobile version
Signed-off-by: Sebastien Binet <binet@cern.ch>
Because it is mandatory as of nov 2018:
https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html
As the default Notification.Builder constructor is deprecated in API 26,
this change also adds the use of the new constructor, which requires a
notification channel Id.
Note: since the users are now in full-control of the notifications,
they can now choose to completely block the auto-upload notification
channel. Given that the main goal of the notification was to keep the
app in memory in order for auto-upload to work, one could expect that
blocking the channel would defeat the notification's purpose. However,
as far as I could test, auto-uploading seems to still be working even
after disabling the channel, and letting the activity die (tip: in
devoloper options, one can tick "Don't keep activities"). In fact,
Perkeep Uploader still always runs as a service.
Also build pk-put shipped in the app with Go 1.11.
Fixes#1202
Change-Id: I8f98e0df742915cb504b6c1cfaa42ca6dc7b6189
-android plugin 3.0.1
-gradle 4.1 (requirement for the above)
-gomobile to 069be623eb8e75049d64f1419849b3e92aab1c81
-go 1.9.3
-removed permission to write on storage from the manifest
-added permission to read from storage on the manifest
-added permission checking code for reading files on storage, which is
compulsory with modern android APIs.
-add missing code to update textByteStatus and textFileStatus TextViews
Notes:
-the app won't work with a server older than rev
6e8a5930c9 as the server/client protocol
to check for existing files on the server changed at this point.
-i think with Android O there's a much higher chance that the
CamliFileObserver gets garbage collected, which breaks the
auto-uploader. We probably need to switch to a different architecture,
like running as a Foreground Service, or using the Job Scheduler to
regularly fire up the file observer. In another CL.
Updates #1049
Change-Id: I079da8e5df5be820c3985749a9e109cf0775b495
Part of the project renaming, issue #981.
After this, users will need to mv their $GOPATH/src/camlistore.org to
$GOPATH/src/perkeep.org. Sorry.
This doesn't yet rename the tools like camlistored, camput, camget,
camtool, etc.
Also, this only moves the lru package to internal. More will move to
internal later.
Also, this doesn't yet remove the "/pkg/" directory. That'll likely
happen later.
This updates some docs, but not all.
devcam test now passes again, even with Go 1.10 (which requires vet
checks are clean too). So a bunch of vet tests are fixed in this CL
too, and a bunch of other broken tests are now fixed (introduced from
the past week of merging the CL backlog).
Change-Id: If580db1691b5b99f8ed6195070789b1f44877dd4
Due to a change in the Android NDK (starting from r16), building the
docker container fails with an error during the installation of
gomobile:
fatal error: 'stdlib.h' file not found
This issue was addressed in more recent versions of gomobile, which
are compatible with the new NDK.
See https://github.com/golang/go/issues/21802
This CL simply updates gomobile to the most recent commit.
Change-Id: I87c468c34de441bc6acd40b717d1d950014e5a99
Android Studio requires newer versions of the Android SDK Build-Tools
and Gradle to build the uploader application.
In this commit, Gradle is updated to version 3.3 (as suggested by
Android Studio) and the Android SDK Build-Tools to the most recent
release.
Change-Id: Ief04ec56a6fffb0b46bd28820134c8e7a1ebbede
Android applications nowadays are supposed to be developped with Android
Studio, which uses gradle as the build system, with the android plugin.
This change modifies the app setup and file tree layout so it can be
built with gradle (in docker by default) instead of with ant.
The initial motivation for this change is to make changes to the app in
Go, using 'gomobile bind' to call the Go code from java. As the canonical
example at golang.org/x/mobile/example/bind/hello uses gradle, the
first step was to migrate the app to gradle.
Even if we don't end up using gomobile, this change is interesting as it
makes it easier for android apps developpers to contribute to the app if
it uses the recommended "modern" way.
Change-Id: I8386012db640324b62e18ffc128b68ba971fa953