4797 Commits

Author SHA1 Message Date
Peter Serwylo
382ee652b8 STILL-UNTESTED: Fix for upgrading app to newer, non vuln version.
Prior to this it was just trying to uninstall the app instead.
2017-09-27 15:03:03 +10:00
Peter Serwylo
63cf0742b7 Fixes after rebasing. 2017-09-27 15:03:03 +10:00
Peter Serwylo
0551b0d1fc Allow user to ignore messages about vulnerable apps 2017-09-27 15:03:03 +10:00
Peter Serwylo
5f64985b34 Added 'ignore vuln' preference for apps 2017-09-27 15:03:03 +10:00
Peter Serwylo
4e544e61fb UNTESTED: Prompt the user to update an app with a known vulnerability.
Untested because there are no apps in current repos which exhibit this
behaviour which have newer versions. Right now I'm testing with com.waze
from testy.at.or.at which only has the one version.

I'm also unsure of how important this is seeing as most the time it will
prompt people to update anyway.
2017-09-27 15:03:03 +10:00
Peter Serwylo
7424220c02 Add apps with known vulnerabilities to updates tab.
Currently only supports "Uninstall", but will soon also support "Upgrade
to a newer version".
2017-09-27 15:03:03 +10:00
Peter Serwylo
9b20142fd9 Extract getInstalledApk() from AppDetails2 to App 2017-09-27 15:03:02 +10:00
Peter Serwylo
073cb199fc Move comment to correct field. 2017-09-27 15:03:02 +10:00
Peter Serwylo
504854547b Add query to get installed apps with known vuln + tests.
Note that I don't think the query will work correctly across multiple repos,
because it is currently only querying the app with the "preferred
metadata".
2017-09-27 15:03:02 +10:00
Peter Serwylo
1fc8828122 Save per-apk anti features to join table + tests.
Also use a newer version of testy.at.or.at index for the index-v1 test,
because it includes apks with "KnownVuln" anti features whereas the
older version did not.
2017-09-27 15:03:02 +10:00
Peter Serwylo
caa1ead689 Added anti-feature table + join onto apk.
Not used yet, but will be used soon for known vulnerability anti
features.
db-version/75
2017-09-27 15:03:01 +10:00
Hans-Christoph Steiner
5d17676a01 Merge branch 'issues-1171--fdroidrepos-regardless-of-path' into 'master'
Allow any path when adding fdroidrepo(s):// intents.

Closes #1171

See merge request fdroid/fdroidclient!582
2017-09-25 12:13:12 +00:00
Peter Serwylo
91a03be6f4 Allow any path when adding fdroidrepo(s):// intents.
When explicitly given an fdroidrepo(s) intent, it seems silly to restrict it based on
a path of /fdroid/repo, because it is plainly obvious it is an F-Droid repo.
Manifest and NewRepoConfig both had to be amended to allow this behaviour.

Fixes #1171.
2017-09-25 15:43:32 +10:00
Peter Serwylo
3a79a9b07f Merge branch 'dark-ui-fixes'
Closes !571 (Manually resolved merge conflicts by rebasing locally first).
2017-09-25 10:05:45 +10:00
Christine Emrich
bd796136f7 Set sane colors for night and dark themes 2017-09-25 09:48:08 +10:00
Christine Emrich
a5caea24e7 Change dark theme ripple color from green to default gray 2017-09-25 09:48:05 +10:00
Christine Emrich
1906dd2f67 Document how themes should roughly look 2017-09-25 09:46:22 +10:00
Christine Emrich
eed9effb0e Make list divider for searches look good in dark theme too 2017-09-25 09:46:22 +10:00
Hans-Christoph Steiner
e1743c70f6 versionCode 1000003 1.0-alpha3 2017-09-12 22:38:43 +02:00
Hans-Christoph Steiner
7db7cca716 update CHANGELOG for 1.0-alpha3 2017-09-12 22:38:00 +02:00
Hans-Christoph Steiner
445c275abe Merge branch 'fix-855--fs-corruption' into 'master'
Ignore errors that are likely due to filesystem corruption (rebase with added Toast)

Closes #855

See merge request !581
2017-09-12 20:25:58 +00:00
Hans-Christoph Steiner
9cc66e035a show Toast if InstalledAppProviderService encounters EIO errors
A notification would be better, but a Toast is better than nothing.
2017-09-12 21:44:48 +02:00
Peter Serwylo
dacebceff6 Ignore errors that are likely due to filesystem corruption.
There is a specific POSIX error "EIO" which seems to be the "general
purpose we don't know what went wrong but its probably bad" exception.
Our investigations in #855 resulted in the conclusion that it is likely
due to some sort of filesystem corruption or something like that.

Either way, it is annoying many people, so we need to prevent it or
ignore it, rather than prompting the user to submit a bug report.
After much investigation it was unable to be reproduced other than by
one of the original bug reporters. As such, this change ignores it.

Unfortunately Java `IOException`s don't have an API for getting the
errno of a POSIX IO error. Thus, this change results to parsing the
exception message instead :(

Fixes #855.
2017-09-12 21:35:08 +02:00
Hans-Christoph Steiner
42fa371e1b Merge branch 'weblate' into 'master'
Weblate

See merge request !580
2017-09-12 16:07:50 +00:00
Hans-Christoph Steiner
d65273cdb9 Weblate 2017-09-12 16:07:50 +00:00
Hans-Christoph Steiner
f4766a93c5 translation tools: detect missing "other" <item> from <plurals>
"other" is the only <item> that is required, or crashes are possible.
2017-09-12 17:38:59 +02:00
Hans-Christoph Steiner
6cb3cf1627 Merge branch 'issue-1143--performance' into 'master'
performance refactor for isApp --> isApk

Closes #1143 and #1156

See merge request !579
2017-09-12 15:34:52 +00:00
Peter Serwylo
71337a49b3 Added doc comment clarifying unsigned media 2017-09-12 16:51:44 +02:00
Peter Serwylo
3a3c170781 Fix CI failures (checkstyle/pmd) 2017-09-12 16:51:44 +02:00
Peter Serwylo
595f72d5b2 Calculate whether an app is an APK or not when updating repos.
This improves performance when we need to decide whether or not apps are
installed or not while scrolling through large lists.

Fixes #1143.

Also change Jackson tests to properly ignore App#isApk.
db-version/74
2017-09-12 16:51:44 +02:00
Peter Serwylo
ac1dce24d2 Don't assume all apps have a preferred signer, as media apps don't
Fixes #1156.
2017-09-12 16:38:33 +02:00
Peter Serwylo
620affa239 Remove unneeded join onto apk which was causing performance problems.
This join resulted in one row for each apk in the result set (before
doing a GROUP BY), instead of one row for each apk. That is a large
difference in number of rows and resulted in much more work for sqlite.
Turns out this join wasn't required.
2017-09-12 16:38:33 +02:00
Peter Serwylo
80259d00ba More precise (and correct) logging of slow queries in debug mode.
Some queries are deferred, and then forced to run by Android by invoking
`getCount()`. Under these circumstances, the measured speed of the query
execution is 1ms.

This adds speed logging around `getCount()` in case that is the first time
the query is run.
2017-09-12 16:38:33 +02:00
Hans-Christoph Steiner
d42d83321b gitlab-ci: don't fail build if clbin fails
clbin is just for making the logs easy to read, if it fails, the build
should not be marked as failed, especially since the logs are probably
not needed if the rest of the job succeeded.
2017-09-06 17:00:14 +02:00
Hans-Christoph Steiner
5144aedec9 Merge branch 'issue-1115--no-versions-multisig' into 'master'
Be more helpful when no versions available due to mismatching signatures.

Closes #1115

See merge request !577
2017-09-05 10:10:14 +00:00
Peter Serwylo
ba96819e40 Prompt user to go to settings to help with incompatible versions 2017-09-05 17:02:04 +10:00
Peter Serwylo
dd93df9ef2 Show mismatching sig apks when incompatible versions enabled.
This is in the spirit of the setting, where users can see which apks are
available even though they are not installable.

Adds a message explaining why it is incompatible (i.e. because the
signature doesn't match the installed version).
2017-09-05 17:02:01 +10:00
Peter Serwylo
ef717437a9 Explain multi-sig problems to user in app details. 2017-09-05 16:33:22 +10:00
Peter Serwylo
68e0f16b7c Minor simplification to view binding for app details.
Instead of casting to more specific view holders, all to call the
similarly named/behaved "bindModel()" method, push this to a base class.
2017-09-05 16:33:22 +10:00
Peter Serwylo
fc2093a9a6 Merge branch 'animation-fixes' into 'master'
Animation fixes

See merge request !566
2017-09-05 02:18:30 +00:00
Hans-Christoph Steiner
5739706cdd Build to 1000002 1.0-alpha2 2017-09-04 23:13:35 +02:00
Hans-Christoph Steiner
5e4095f3f1 update CHANGELOG for 1.0-alpha2 2017-09-04 23:13:24 +02:00
Hans-Christoph Steiner
15b27ef1f6 fix lint TypographyEllipsis programmatically 2017-09-04 23:12:35 +02:00
Mladen Pejaković
3ad8467135 Translated using Weblate (Serbian)
Currently translated at 100.0% (372 of 372 strings)
2017-09-04 22:53:16 +02:00
Gaman Gabriel
679e933bfd Translated using Weblate (Romanian)
Currently translated at 96.5% (359 of 372 strings)
2017-09-04 22:53:16 +02:00
Peter Serwylo
eb8af46a94 Merge branch 'fixes-for-1.0-alpha2' into 'master'
Fixes for 1.0 alpha2

Closes #1149

See merge request !573
2017-09-04 20:53:08 +00:00
Peter Serwylo
aa2d791531 Merge branch 'etag-fix' into 'master'
switch etag cache check to purely client-side

Closes #562

See merge request !574
2017-09-04 20:22:02 +00:00
Hans-Christoph Steiner
709919ada6 Merge branch 'weblate' into 'master'
Weblate

See merge request !575
2017-09-04 20:21:16 +00:00
Hans-Christoph Steiner
2bfa642046 Weblate 2017-09-04 20:21:15 +00: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