5263 Commits

Author SHA1 Message Date
Hans-Christoph Steiner
86e128b7e8 document F-Droid's use of HTTP 2018-04-11 11:34:12 +02:00
Hans-Christoph Steiner
b523ecc969 check redelivered Intents whether they completed while we were killed
If F-Droid gets killed during the install/update process, then the install
procedure would keep getting readded and redownloaded since it is a sticky
Intent.  The test is very specific so that this does not block things like
installing updates with the same versionCode, which happens sometimes, and
is allowed by Android.

#1271
2018-04-11 11:34:12 +02:00
Hans-Christoph Steiner
1413c35342 use standard method for basic installed app queries
Makes easy to track where these lookups are happening, and hopefully
simplifies the code a bit.
2018-04-11 11:34:09 +02:00
Hans-Christoph Steiner
1e6fb13ebc register to receive gitlab nightly URLs
They have one more path segment than the others, e.g.:
https://gitlab.com/fdroid/fdroidclient-nightly/raw/master/fdroid/repo
2018-04-11 11:26:55 +02:00
Hans-Christoph Steiner
af509e431e reformat localrepo code in using Android Studio Ctrl-Alt-L 2018-04-11 11:26:55 +02:00
Hans-Christoph Steiner
00cfaa572f version code 1002001 1.2-alpha1 2018-04-06 18:53:32 +02:00
Hans-Christoph Steiner
facf251cd1 update CHANGELOG 2018-04-06 18:53:32 +02:00
Hans-Christoph Steiner
3c14d273b2 Merge branch 'fix-only-on-wifi' into 'master'
fix "Only on WiFi" to apply to all downloads

See merge request fdroid/fdroidclient!669
2018-04-06 14:23:27 +00:00
Hans-Christoph Steiner
fbf7e98df9 no need to export WifiStateChangeService to the world 2018-04-06 15:51:00 +02:00
Hans-Christoph Steiner
5bd276c804 make "Only on WiFi" also apply to updates, graphics, and icons
The "Only on WiFi" pref originally only controlled index updates, but now
it makes sense to include all of the various files that are downloaded.

#1381
2018-04-06 15:50:57 +02:00
Hans-Christoph Steiner
7ba1966538 use standard code style and var naming patterns for AppDiff
The standard pattern is to pass a Context in rather than call things like
getPackageManager in.  It should only pass a PackageManager if that is
actually being reused.

This shouldn't change the logic at all.
2018-04-06 12:01:53 +02:00
Hans-Christoph Steiner
98aea01272 remove confusing Exception when checking permissions
Might as well just let things fail with a NullPointerException, that will
provide more information around the crash.
2018-04-06 12:01:53 +02:00
Hans-Christoph Steiner
b5adf7d0ef document ignoring EXIF 2018-04-06 12:01:53 +02:00
Ajeje Brazorf
36d699a6a6 Translated using Weblate (Sardinian)
Currently translated at 100.0% (416 of 416 strings)
2018-04-06 12:01:53 +02:00
Hans-Christoph Steiner
4fa86f548b Merge branch 'handle-low-storage' into 'master'
clean cache when the device has low storage; plus 1.2 bug fixes

Closes #1139, #1395, and #1400

See merge request fdroid/fdroidclient!667
2018-04-06 10:00:39 +00:00
Hans-Christoph Steiner
ddb694380b Merge branch 'weblate' into 'master'
Weblate

See merge request fdroid/fdroidclient!668
2018-04-06 09:59:49 +00:00
Hans-Christoph Steiner
e7f428afce Weblate 2018-04-06 09:59:49 +00:00
Hans-Christoph Steiner
d06630f287 git hooks: use ./gradlew to ensure the right gradle version is used 2018-04-05 23:28:53 +02:00
Hans-Christoph Steiner
4a0dd8abe7 when storage is low, make UIL limit cache based on available size 2018-04-05 23:28:53 +02:00
Hans-Christoph Steiner
c1656f61a7 if device storage is really low, delete the entire cache 2018-04-05 23:28:53 +02:00
Hans-Christoph Steiner
af32e4ac85 trigger CleanCacheService if device storage is low 2018-04-05 23:28:53 +02:00
Hans-Christoph Steiner
661aebb75f properly gather all requested permissions from index-v1.json
The permissions from uses-permission and uses-permission-sdk-23 should be
combined into a single list of permissions that are being requested for the
current SDK version.  The previous code was overwriting one or the other,
based on the order that Jackson happen to call setRequestedPermissions().

closes #1139
#890
#1394
admin#65
2018-04-05 23:28:53 +02:00
Hans-Christoph Steiner
688057b3e7 fix some progress vars that were still int rather than long
This completes the work started in 195aaae7e52dc1c47741965904ed17bdc816a71c

closes #1395
closes #1400

# Conflicts:
#	app/src/main/java/org/fdroid/fdroid/UpdateService.java
2018-04-05 23:28:49 +02:00
Hans-Christoph Steiner
2c6ed51a35 fix last long lines in UpdateService 2018-04-05 23:26:06 +02:00
Hans-Christoph Steiner
9bec554d2f Merge branch 'finalize-uil-update' into 'master'
Finalize UIL update

See merge request fdroid/fdroidclient!666
2018-04-05 21:22:17 +00:00
Hans-Christoph Steiner
48e438d510 declare some key vars final to help the compiler optimize those
Apparently, the Java compiler can in some cases reuse a final value instead
of executing a method again.  This is from @hotlittlewhitedog

!653
2018-04-04 17:43:11 +02:00
Hans-Christoph Steiner
fa9a4ce608 scale all images to the exact required size to save memory/disk
!661
https://gitlab.com/fdroid/fdroidclient/merge_requests/653#note_65065867
2018-04-04 17:43:11 +02:00
Hans-Christoph Steiner
cb5923e03b ensure images are never larger than device supports
In order to save disk space and memory, at a cost of some CPU time,
this makes sure that all downloaded images are not bigger than the
device can support.  A nice side effect of this process is that EXIF
information is stripped from JPEG files since they are read into a
Bitmap, then written out as a PNG.  This should complete the JPEG EXIF
stripping started in 2a3aaacf2347679f30e2c8feffb92f25bb882c8b with
considerExifParams(false)
!653
2018-04-04 17:43:08 +02:00
Hans-Christoph Steiner
ce19d60e7b version code 1002000 1.2-alpha0 2018-03-30 17:28:56 +02:00
Hans-Christoph Steiner
8b37ee5863 update CHANGELOG for 1.2-alpha0 2018-03-30 17:28:43 +02:00
Hans-Christoph Steiner
427f6f7bbf Merge branch 'weblate' into 'master'
Weblate

See merge request fdroid/fdroidclient!665
2018-03-30 13:38:11 +00:00
Hans-Christoph Steiner
ae2df2a836 Weblate 2018-03-30 13:38:11 +00:00
Hans-Christoph Steiner
2d0168215e Merge branch 'more-clean-up-towards-usb-swap' into 'master'
More clean up towards usb swap

See merge request fdroid/fdroidclient!664
2018-03-30 12:59:06 +00:00
Hans-Christoph Steiner
258d2a41c3 do not include blank fingerprints in AddRepo fingerprintRepoMap 2018-03-30 14:05:06 +02:00
Hans-Christoph Steiner
67a5156641 remove verbose logging from InstalledAppProvider stuff 2018-03-30 14:05:06 +02:00
Hans-Christoph Steiner
2b8bfd4aa6 show placeholder image if screenshots fail to load 2018-03-30 14:05:06 +02:00
Hans-Christoph Steiner
c83c8301e6 improve URL normalizing in "Add Repo" and also support content:// URLs
This adds some case normalization to both the scheme and the host. This was
previously messing up TreeUri content:// URLs like this:
content://com.android.externalstorage.documents/tree/1AFB-2402%3A/document/1AFB-2402%3Atesty.at.or.at%2Ffdroid%2Frepo

Turning them into:
content://com.android.externalstorage.documents/tree/1AFB-2402:/document/1AFB-2402:testy.at.or.at/fdroid/repo
2018-03-30 14:05:06 +02:00
Hans-Christoph Steiner
06f42f864f don't crash in "Add Repo" if an invalid URL is given
Oops, missed this in 89e04cc078bb96a6999ccc4a42f23800272e2be2
2018-03-30 14:05:06 +02:00
Hans-Christoph Steiner
3f3ff5ffd7 further simplification of Downloader based on Uri
missed this in df08e84e7829652d7999eee5451080a012b00a1e
2018-03-30 14:05:06 +02:00
Hans-Christoph Steiner
401d094af1 purge out of date translations to trigger retranslation 2018-03-30 10:10:57 +02:00
Hans-Christoph Steiner
651f395738 fix build, oops 2018-03-30 00:06:46 +02:00
Hans-Christoph Steiner
5f2b053b1c Merge branch 'clean-up-repo-and-downloader' into 'master'
expose mirror options; Clean up Repo and Downloader

See merge request fdroid/fdroidclient!663
2018-03-29 21:59:26 +00:00
Hans-Christoph Steiner
df08e84e78 switch all Downloader subclasses to use Uri instead of URL
java.net.URL barfs on custom URL schemes, and making it handle them is
really hard.  Basically, there needs to be a Handler stub class, then
URL.setURLStreamHandlerFactory() must run when F-Droid starts, since
it has to be set before any URL instance is used.  This all leaves
some weird logic that gives the false impression that URLConnection
will handle these custom schemes.

Switching to Uri/urlString throughout the code matches the other
classes that use urlString as the unique ID, and this doesn't add more
lines of code.
2018-03-29 23:16:17 +02:00
Hans-Christoph Steiner
195aaae7e5 switch Downloader total download size to long to support >16MB
This was int because it was written arond UrlConnection.getContentLength()
which returns an int.  But that doesn't make sense since this will
definitely handle files large than 16MB.

!647
#1192
2018-03-29 22:33:42 +02:00
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.
db-version/78
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