121 Commits

Author SHA1 Message Date
Hans-Christoph Steiner
3c341b7e4b move errorprone config to its own gitlab CI job 2018-02-13 20:19:45 +01:00
Andrew Gaul
d3cb775101 Configure error prone
Disable a few noisy warnings.
2018-01-30 09:03:29 -08:00
Hans-Christoph Steiner
34c17c7e74 versionCode 1001001 2018-01-26 22:58:48 +01:00
Torsten Grote
512789aafa
Basic PanicKit Support with one default action
The default action closes F-Droid and removes it from the list of recent
apps.

Destructive action will be added later.
2017-12-06 16:25:01 -02:00
Hans-Christoph Steiner
d4d9707631 on debug builds, set versionCode using DB_VERSION + commit count
This provides an automatic way to generate updates from each new debug
build, it is build from the developer's machine or via the nightly repo.
2017-11-23 10:55:13 +01:00
Hans-Christoph Steiner
427d0d0aa0 add 'debug' to applicationId and versionName for debug builds 2017-11-23 10:55:13 +01:00
Torsten Grote
4149cf7e8c
Remove dependence on "org.fdroid.fdroid" to make whitelabel clients easier 2017-11-22 13:21:06 -02:00
Hans-Christoph Steiner
bcc29ef6c9 versionCode 1001000 2017-11-09 23:59:25 +01:00
Hans-Christoph Steiner
5f26a78527 auto-disable preDexLibraries on CI systems
preDexing helps repeat builds run faster, but slows down builds that do
not have any caching.  CI builds start from scratch each time.  Turns
out that GitLab CI, Travis CI, Circle CI, and probably many others all
define the "CI" environment variable, so its easy to detect when running
in a CI environment.  This makes things a lot cleaner.

* https://docs.gitlab.com/ce/ci/variables/README.html
* https://docs.travis-ci.com/user/environment-variables/
* https://circleci.com/docs/2.0/env-vars/
* https://github.com/codepath/android_guides/wiki/Setting-up-Travis-CI
* https://stackoverflow.com/questions/23137764/building-a-debug-apk
2017-10-27 10:54:20 +02:00
Hans-Christoph Steiner
c3f46bb5fb versionCode 1000011 2017-10-24 14:09:08 +02:00
Hans-Christoph Steiner
245b918d6e versionCode 1000010 2017-10-10 14:46:16 +02:00
Hans-Christoph Steiner
fe626e3fd8 versionCode 1000005 2017-10-04 23:33:21 +02:00
Hans-Christoph Steiner
fa859466da versionCode 1000004 2017-09-27 23:03:11 +02:00
Hans-Christoph Steiner
e1743c70f6 versionCode 1000003 2017-09-12 22:38:43 +02:00
Hans-Christoph Steiner
5739706cdd Build to 1000002 2017-09-04 23:13:35 +02:00
Hans-Christoph Steiner
a27d2804f3 manually use aapt singleCrunch for reproducible builds
PNG crunching is not a deterministic process, especially the way aapt does
it.  This makes the F-Droid builds not reproducible.  The easy solution to
this is to pre-crunch the PNGs and commit them to git.  It also makes the
final APK a tiny amount smaller, for whatever reason.

https://medium.com/@duhroach/smaller-pngs-and-android-s-aapt-tool-4ce38a24019d
2017-09-04 22:20:55 +02:00
Hans-Christoph Steiner
c93cd5a3e6 Build to 1000001 2017-07-18 10:01:41 +02:00
Hans-Christoph Steiner
300677fb9c Bump to 1000000 2017-07-08 00:10:59 +02:00
Hans-Christoph Steiner
57664eb086 stop using 'v' prefix for release tags 2017-07-08 00:10:45 +02:00
Hans-Christoph Steiner
eabec87a4c Bump to 0.104 2017-06-16 23:20:28 +02:00
Hans-Christoph Steiner
9967ed9923 Bump to 0.103.2 2017-05-31 19:38:06 +02:00
Hans-Christoph Steiner
0fb65d2cfd Bump to 0.103.1 2017-05-13 00:10:20 +02:00
Hans-Christoph Steiner
7702e72acb move lint config to lint.xml to enable ignoring specific files 2017-05-11 09:38:59 +02:00
Hans-Christoph Steiner
7135cdef48 Bump to 0.103 2017-05-02 22:03:08 +02:00
Hans-Christoph Steiner
471083b8f4 Bump to 0.103-alpha3 2017-04-19 00:19:10 +02:00
Peter Serwylo
131eece46c Fix issue with some cards not displaying in "Latest" view.
But in constraint layout which was fixed in 1.0.2.

Fixes #949.
2017-04-17 17:32:14 +10:00
Hans-Christoph Steiner
16880c638c Bump to 0.103-alpha2 2017-04-07 19:27:03 +02:00
Hans-Christoph Steiner
c43877eed1 demote lint ImpliedQuantity to warning
This is hitting a lot of plurals, causing the CI builds to fail.  But
unfortunately, its getting it wrong.  Its actually for a format in a string
like "Updated today" in languages like pt that need special cases for 0/1
items.  In this case, it makes no sense to say "Updated 0 days ago".
2017-04-07 19:09:19 +02:00
Peter Serwylo
432eee0f83 Force the build tools to generate .pngs for each vector.
This results in a slightly larger apk (e.g. 500KiB), but it reduces the
scope for bugs greatly. We still get all the benefits of only having to
maintain a single density-independent vector (rather than several
density dependent PNGs and all the work that involves).

The class of bugs that it solves is that there are several places where
vectors cannot be used, and you wont notice when developing on a device
newer than 5.0. For example, notification icons, `TextView`
and its `android:drawableStart` attribute.

Fixes #913.
2017-04-07 15:56:16 +10:00
Hans-Christoph Steiner
89e103fc23 Bump to 0.103-alpha1 2017-04-01 21:15:18 +02:00
Hans-Christoph Steiner
d769dcfc60 support new index-v1 format using Jackson parser
This adds support for parsing the new index-v1.json data as defined in
fdroidserver!221.  This new index metadata format is required to
support localization, graphics, screenshots, etc.

refs #15
2017-03-31 09:09:31 +11:00
Peter Serwylo
c59899cbff Ensure support lib 25.2.0
The default behaviour of gradle when encountering a transitive
dependency which is the same as an explicit dependency, but where the
transitive dependency has a higher version, is to bump the depdendency
which was explicitly added. This meant that the addition of the
bottom navigation library implicitly bumped our support lib to 25.3.0
due to its dependence on it.

The options are:
 * Change the 3rd party lib to support 25.2.0 instead of 25.3.0.
 * Explicitly exclude the transitive support lib dependency in our build
   script (what we have done in the past, e.g. with acra).
 * Bump our explicit dependency.

Given the nature of the changes from 25.2.0 and 25.3.0, it seemed like
it was simplest to bump our dep. However, there is a bug
https://code.google.com/p/android/issues/detail?id=251302 which causes
a function we depend on in SwitchCompat to require API 14. Therefore,
this change excludes the 25.3.0 transitive dependencies, allowing our
25.2.0 dep to get used.

In the process, I've noted that there were a few places we opted for
excluding the transitive dependency in the past. These have now been
removed because we have a higher version than they do, and thus they
will no longer drag our old version forward.
2017-03-22 09:47:12 +11:00
Peter Serwylo
c24ccae02c Use 3rd party bottom nav library which isn't based on support lib one.
The previous dependency extended the support library bottom nav. It did
this at the expense of lots of reflection. This is pretty brittle and
likely to break in future releases as the support lib gets updated. In
the mean time we need to have a fully working bottom nav, so this commit
includes a different dependency.

Most 3rd party bottom navigation panes look great. All that I found
require at least API 11, mostly API 14 (due to animations I suspect).
I've forked one of the most popular ones on GitHub and made it support
back down to API 10. My fork is added as a dependency until upstream
accepts the PR.

If they don't ever, then we can reconsider what our options are.

The two times I've swapped the bottom nav implementation have both been
trivial. The code generally only touches the MainActivity and its
layout.
2017-03-22 08:55:27 +11:00
Peter Serwylo
43a9a9d229 Add dependency to make bottom nav work better + bump support libs.
Right now, it will allow us to set the selected item more nicely.
In the near future, we will use this dependency to control the visual
display of the bottom nav better (e.g. icons/text appearance/animation).

Note that there is a bit of development going on at the Android team,
and the official bottom navigation view may oneday support all of these
features. In that case, we should probably switch back.
2017-03-22 08:55:27 +11:00
Peter Serwylo
23d40dbca0 Added dependency to make working with complex RecyclerViews more manageable.
There were a few different options around, but some of the best ones
which provided the most flexibility when adding diverse/complex
viewTypes to a recycler view target a minsdk above 10.

The "adapterdelegates" library still offers a big improvement on vanila
adapters, especially for the Updates view.
2017-03-22 08:55:26 +11:00
Peter Serwylo
ce946f4257 Bump robolectric version
There were troubles with the particular version of gradle plugin and
gradle that we were using, which has since been fixed by robolectric.
2017-03-14 09:49:55 +11:00
mvp76
a814792594 Break out library version for easier updates in the future 2017-03-07 18:21:17 +11:00
Peter Serwylo
ba82cfcfc5 Bumped support lib versions. Added dependencies for new UI.
The following official Android support libraries were added:
 * recyclerview-v7
 * cardview-v7
 * design
 * support-vector-drawable
 * constraint-layout
 * palette
2017-03-03 13:14:01 +11:00
mvp76
40a061ae73 Fix for old devices
They can't use vector drawables in notifications. Also, groups can not
be used, see http://stackoverflow.com/a/34953411.
2017-02-28 20:56:35 +01:00
Hans-Christoph Steiner
bfc1060bfb Merge branch 'new-ui--app-details-2' into 'master'
Tweak some styles in AppDetails2

See merge request !426
2017-02-24 15:27:29 +00:00
Daniel Martí
3d20a07c8a Update CI image and build-tools to 25.0.2
The new CI image also contains the support repo r41, with the support
libs version 25.1.0.
2016-12-23 12:55:28 +01:00
Peter Serwylo
d54c138a1d Work on the "Donate" styles.
Still needs some better assets for the actual donate buttons, but now it includes
the relevant text about donating to developers. It also puts the donation options
in a grid layout and lets them flow across so that if there is more than three, they
will end up on the second line.
2016-12-21 23:05:08 +11:00
Peter Serwylo
f9f0a0f91c Merge branch 'app_details_749' into 'master'
App details 749

The new App Details screen (issue #749), now accessible by long-clicking on an app in the application list.

See merge request !419
2016-12-08 01:19:49 +00:00
Peter Serwylo
46eb6ee3b4 Added initial test for AppDetailsRecyclerViewAdapter.
Doesn't do anything except create an app with no versions,
no donate links, anything like that, and ensure that the adapter
is able to create the view holders for each resulting item.

In the future we can beef this up to check more exotic conditions,
such as calling `updateItems(App)` with different apps, each
with different combinations of versions, donation links, permissions,
etc.
2016-12-01 12:15:31 +11:00
Daniel Martí
af24db2d14 Bump to 0.102 2016-11-28 12:15:30 +00:00
mvp76
3b23ea019b Reset build files to release 2016-11-25 10:07:56 +01:00
mvp76
f355232bd5 Build changes 2016-11-18 15:39:53 +01:00
Daniel Martí
99216d923a Bump to 0.102-alpha3 2016-11-16 22:06:03 +00:00
Daniel Martí
6f0b33a092 Bump to 0.102-alpha2 2016-11-02 21:19:34 +00:00
Daniel Martí
04c7176a2a Bump checkstyle to 7.2 2016-10-31 14:19:30 +00:00