1555 Commits

Author SHA1 Message Date
Hans-Christoph Steiner
a88b9c924e when validating added repo URLs, check whether they're already included 2018-03-29 22:33:42 +02:00
Hans-Christoph Steiner
70c9121995 enforce line lengths in ManageReposActivity 2018-03-29 22:33:42 +02:00
Hans-Christoph Steiner
2f0cb30ad0 support adding custom mirrors to any existing repo, via "App Repo"
This lets people add any URL as a mirror to an existing repo.  The UX is
people add URLs via any of the normal ways of adding a new repo via Intents,
like clicking URLs, QRCodes, etc.
2018-03-29 22:33:42 +02:00
Hans-Christoph Steiner
89e04cc078 include repo name in messages in "App Repo" dialog
This should hopefully make things a little clearer to the user.
2018-03-29 22:33:42 +02:00
Hans-Christoph Steiner
759c3b90fc display mirrors in RepoDetailsActivity
This is rough, but better than nothing.
2018-03-29 22:33:42 +02:00
Hans-Christoph Steiner
b3d90cd1b6 allow any path in incoming add repo Intent, filters check the paths
If anything wants to craft an Intent to send directly to F-Droid with an
arbitrary but valid path, that seems like a fine thing to support.  The
IntentFilters will still only match on the well known paths, so that the
user doesn't see F-Droid claiming all HTTP URLs.
2018-03-29 22:33:42 +02:00
Hans-Christoph Steiner
dd48103516 purge unused repo instance variable from UpdateException
The repo instance variable has long since been unused, but has just been
left there as a vestige.  Now its presence is blocking RepoUpdater.
getSigningCertFromJar() from being a static method that can be reused when
checking for repos on SD Cards and other removable storage devices.
2018-03-29 22:33:42 +02:00
Hans-Christoph Steiner
34381f9cfb simplify creation of Repo instances in tests
Creating a Repo instance first seems totally redundant and confusing.
2018-03-29 22:33:42 +02:00
Hans-Christoph Steiner
5e6ff06e0e bump to build-tools-25.0.3 2018-03-29 22:30:00 +02:00
Hans-Christoph Steiner
10d4a8fd8b Weblate 2018-03-29 19:09:53 +00:00
Hans-Christoph Steiner
44fcfd36f9 use FileInputStream for file:// URLs when UIL loads images
This saves the levels of indirection that leads to a FileInputStream being
created in LocalFileDownloader.  Since there are already special cases for
assets:// and drawable://, it seems a natural place to put the file://
case.  Also, since this is used to load icons when scrolling through lists
of apps, this is particularly sensitive to inefficient loading.

This also removes custom code that UIL provides better.
2018-03-26 20:08:12 +02:00
Hans-Christoph Steiner
b10fa425b5 scale UIL parallelization based on amount of RAM the device comes with
This uses the total RAM that the device comes with as a rough measure of
the devices capabilities.  That is then used to set how many parallel
threads UIL can use.
2018-03-26 20:08:12 +02:00
Hans-Christoph Steiner
504286d44b respond to onLowMemory/onTrimMemory by clearing UIL memory cache 2018-03-26 16:17:45 +02:00
Hans-Christoph Steiner
6e64438fa6 disable UIL image handling while scrolling
This should speed up the scrolling, especially on older devices.
2018-03-26 10:08:30 +02:00
Hans-Christoph Steiner
2a3aaacf23 set UIL DisplayImageOptions at startup
Instead of setting the same thing at each place its used, this puts all the
settings in one place.  For the most part, they are the same everywhere.
This makes it a lot easier to optimize how UIL works since all the settings
are in one place.
2018-03-26 10:08:30 +02:00
Hans-Christoph Steiner
b19eb1f91d use default disk cache for UIL, CleanCacheService handles cleanup
No need to slow down UIL by making it do a cache check since
CleanCacheService already does that in a low priority background service.

The default FileNameGenerator just uses imageUri.hashCode() so its safe an
faster than ours.  So just use the default.

Also, no need to set threadPriority() since we are using the default
2018-03-26 10:08:30 +02:00
Hans-Christoph Steiner
efa1106d39 Wrap the “Your apps are up to date” message, to look better centered
!598

thanks @dantesoft!
2018-03-26 10:08:30 +02:00
Hans-Christoph Steiner
cd31976a58 update support libs to 25.3.1 2018-03-23 17:04:39 +01:00
Hans-Christoph Steiner
0260afcc99 bump org.robolectric to hopefully improve test reliability 2018-03-23 17:04:39 +01:00
Hans-Christoph Steiner
e3961a8c00 update spongycastle to latest version supporting pkix 2018-03-23 15:52:43 +01:00
Hans-Christoph Steiner
d0e8d2da01 update to latest zxing core
This might be needed for the newest releases of Barcode Scanner.
2018-03-23 15:32:25 +01:00
Hans-Christoph Steiner
be11306a45 Merge branch 'settings' into 'master'
update filter preferences in settings

See merge request fdroid/fdroidclient!645
2018-03-23 14:33:11 +00:00
dkanada
20b75d5edc fix crash in settings and make variable names the same 2018-03-22 20:38:00 -06:00
dkanada
f57cafbdb1 migrate the old anti-feature preference 2018-03-22 20:38:00 -06:00
dkanada
aee621f3f5 negate show root preference, update english strings, and remove old translations 2018-03-22 20:38:00 -06:00
Hans-Christoph Steiner
cc540301d1 purge all references to ICON_URL_LARGE, its unused
This was only partially hooked up and often not even populated.
It was added in 4895e2d790ec3b91fa4271a24e1ea0ae69d362f4, but things have
changed a lot now.  We should be moving towards preferring the drawable XML
vector icons, which will scale nicely for all DPIs.
2018-03-21 20:10:37 +01:00
Hans-Christoph Steiner
57b2032e30 version code 1001050 2018-03-21 20:06:36 +01:00
Hans-Christoph Steiner
df65905d19 only log installer messages on debug builds
This is stabilized, so we can tone down the logging.
2018-03-21 19:30:22 +01:00
Hans-Christoph Steiner
35471db83c always use sanitized URI from ApkFileProvider in install process
The previous commit makes this issue a lot easier to see. ApkFileProvider
getSafeUri() was already making the right URI for SDK_INT < 24, but then
this bit of logic was using the original URI, which didn't work. Installing
from the app's cache dir triggered a "Parse Error".  The Android default
installer API needs file:// URIs from getFiles().

closes #1310
2018-03-21 19:30:22 +01:00
Hans-Christoph Steiner
72fcc3d2c5 clean up content:// vs file:// logic in installation process
This hopefully makes apparent which pieces are only related to APKs, and
which pieces are used for all installable file types (media, OTA ZIPs, etc)

ExtensionInstaller only works on < android-20 anyway, so that's self-
enforcing in terms of URI scheme: it'll only ever see file:// URIs.
2018-03-21 19:30:22 +01:00
Marcus
ce0dfa48f9 Merge branch 'launch_crash_fix' into 'master'
don't crash when launching an app that isn't installed

See merge request fdroid/fdroidclient!656
2018-03-20 17:49:17 +00:00
Marcus Hoffmann
f32ed1eaed
don't crash when launching an app that isn't installed
This fixes the following crash:

* Install an app form F-Droid
* go to home screen
* uninstall app
* quickly switch to F-Droid the button will still show 'run' for a few
seconds
* launch the app you just uninstalled
2018-03-20 18:21:24 +01:00
Hans-Christoph Steiner
806580acd3 Weblate 2018-03-20 16:56:13 +00:00
hotlittlewhitedog
e272badf8e fix-detail-icon
modified:   app/src/main/java/org/fdroid/fdroid/views/AppDetailsRecyclerViewAdapter.java
2018-03-10 22:10:54 +01:00
Torsten Grote
50056317df
Prevent crash on screen rotation when showing panic app selector 2018-03-08 19:00:04 -03:00
Hans-Christoph Steiner
10db3bc057 version code 1001004 2018-03-08 00:09:09 +01:00
Hans-Christoph Steiner
a74c68afd4 Merge branch 'ui' into 'master'
slight changes to the user interface

fdroid/fdroidclient!646
2018-03-07 23:58:24 +01:00
Hans-Christoph Steiner
016e65375e pre-compress and strip EXIF from all PNGs in app
This makes the build reproducible, and makes the files smaller.

 metadata/en-US/images/phoneScreenshots/screenshot-dark-details.png   | Bin 358916 -> 309386 bytes
 metadata/en-US/images/phoneScreenshots/screenshot-dark-home.png      | Bin 277413 -> 224844 bytes
 metadata/en-US/images/phoneScreenshots/screenshot-dark-knownvuln.png | Bin 158903 -> 123484 bytes
 metadata/en-US/images/phoneScreenshots/screenshot-knownvuln.png      | Bin 66707 -> 41670 bytes
2018-03-07 23:57:42 +01:00
Hans-Christoph Steiner
215db81802 use warning suggestions for .addAll() method and null guard 2018-03-07 22:51:39 +01:00
Hans-Christoph Steiner
5547f12527 actually fix crashes from update notifications on < android-11
8600ce8d8a56398a4eb731f0cccb848c4e18d2eb didn't get all the affected places.

#1306
2018-03-07 22:51:39 +01:00
Hans-Christoph Steiner
978f4a2928 ignore potential filesystem corruption
As nice as it would be to help the users, F-Droid is not well positioned to
help the user with this problem.  The Android OS itself should do it. Plus
this issue has been open a long time, without much work on it, and the
existing solution is causing crashes.

#855
!440
!581

Utils.getBinaryHash() is used in a lot of places in the code, so its not
easy to handle this specific issue.  Here's one example:

org.fdroid.fdroid.Utils$PotentialFilesystemCorruptionException: java.io.IOException: read failed: EIO (I/O error)
	at org.fdroid.fdroid.Utils.getBinaryHash(Utils.java:426)
	at org.fdroid.fdroid.AppUpdateStatusService.findApkMatchingHash(AppUpdateStatusService.java:159)
	at org.fdroid.fdroid.AppUpdateStatusService.processDownloadedApk(AppUpdateStatusService.java:110)
	at org.fdroid.fdroid.AppUpdateStatusService.onHandleIntent(AppUpdateStatusService.java:65)
	at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:137)
	at android.os.HandlerThread.run(HandlerThread.java:60)
2018-03-07 22:51:39 +01:00
Hans-Christoph Steiner
b9144cc95d fix pedantic warnings in Provisioner.java to make null warnings clear
The NullPointerException fixed by the previous commit had a warning to that
effect.  This fixes almost all the warnings to make the warnings clearer:

* unused method
* unused result of File.delete()
* can have reduced visibility
* single char static "" strings can be '' chars
2018-03-07 22:51:39 +01:00
dkanada
b4620bd0b6 fix right padding on version list 2018-03-07 12:02:22 -07:00
dkanada
74bf125ccb modify layouts for donation buttons 2018-03-07 12:02:22 -07:00
dkanada
cf7b786054 wrap donate linear layout in a card view 2018-03-07 12:02:22 -07:00
dkanada
80915589ee improve UI for screenshots with dark theme 2018-03-07 12:02:22 -07:00
Hans-Christoph Steiner
dffac4e797 fix boot crash when Provisioner can't find ExternalFilesDir
closes #1332
!630
2018-03-07 16:46:18 +01:00
Hans-Christoph Steiner
6055874d9d do not crash if file vanishes during getBinaryHash()
APKs can be deleted at any time, either by being uninstalled or deleted
from the cache.
2018-03-07 16:46:17 +01:00
Hans-Christoph Steiner
a0624639fc Weblate 2018-03-06 23:20:12 +00:00
Hans-Christoph Steiner
70370f5d88 LocalizationTest: hiding_dialog_message has new pattern: sds 2018-03-06 23:39:47 +01:00