1958 Commits

Author SHA1 Message Date
Hans-Christoph Steiner
ae0c712a3e remove animation from BottomBar to make more text fit into labels
For many languages, there are unavoidable long words needed for the labels
on the button bar, for example, the standard word for Settings can be up to
15 characters long:
https://gitlab.com/fdroid/fdroidclient/issues/1569#note_126469088

The BottomBar was scaling the active one up, and sizing all the fields based
on that size.  This removes that animation, and sets all tabs to always have
the same text size.  That makes it possible to make the spacing tighter.
This also sets the text truncating mode to "middle" which sticks an elipsis
in the middle of the truncated word and shows the start and end.

closes #1569
closes !756
2018-12-21 14:27:57 +01:00
Hans-Christoph Steiner
59befbd355 use Android constants for common URI schemes
This makes the code easier to trace.
2018-12-21 14:27:57 +01:00
Hans-Christoph Steiner
d8e8cc82f1
version code 1005002 2018-12-21 00:25:56 +01:00
Hans-Christoph Steiner
f95af36140 allow repos on removable storage to work without any internet 2018-12-21 00:06:15 +01:00
Hans-Christoph Steiner
69e2ca4283 keep F-Droid visible after adding removeable storage mirror 2018-12-21 00:06:15 +01:00
Hans-Christoph Steiner
0e5dd45859 fix a couple missed renames for IndexUpdater
* 0e6b4acabf72050e47dc80a273f5a5d1ec4ce222
* fdroid/fdroidclient!767
2018-12-21 00:06:15 +01:00
Hans-Christoph Steiner
90c3baf5af scanning WiFi/Bluetooth in android-23 requires location permission
This requires that admin#65 is fixed, otherwise every F-Droid update will
require Unknown Sources with Privileged Extension.

https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html#behavior-hardware-id
https://stackoverflow.com/a/44200390

closes #656
2018-12-21 00:06:13 +01:00
Hans-Christoph Steiner
1d1f489d85 handle repo Intents for mirrors that are already enabled
This adds a new IntentService to pre-process Intents that request a
new repo is added.  Right now, this only handles Intents that come
from the new storage scanners.

This also adds a new case to the AddRepo UI logic to cover when an
incoming Intent is for a mirror that is already included in an enabled
repo.  In that case, the user is show the Repo Details screen for the
repo that includes that mirror.  This is done is a hacky way right now
since the only path through is to click the button.  So this clicks
the button in code.
2018-12-21 00:04:34 +01:00
Hans-Christoph Steiner
c4b0955c96 add preference to disable removable storage scanning 2018-12-21 00:04:34 +01:00
Hans-Christoph Steiner
f9bc219073 SDCardScannerService for using repos from SD Cards
Creates an IntentService subclass for scanning removable "external
storage" for F-Droid package repos, e.g. SD Cards. This is intented to
support sharable package repos, so it ignores non-removable storage,
like the fake emulated sdcard from devices with only built-in storage.
This method will only ever allow for reading repos, never writing.  It
also will not work for removeable storage devices plugged in via USB,
since do not show up as "External Storage"

* https://stackoverflow.com/a/40201333
* https://commonsware.com/blog/2017/11/14/storage-situation-external-storage.html

closes #1377
2018-12-21 00:04:34 +01:00
Hans-Christoph Steiner
1571e28f68 support swapping with removable storage on android-21+
This uses the new Storage Access Framework, which was required for
accessing files on the SD Card starting in android-19.  But the API
was really limited until android-21, and not really complete until
android-23 or even android-26.  So the levels of usability will vary a
lot based on how new the version of Android is.
2018-12-21 00:03:39 +01:00
Hans-Christoph Steiner
ac1a5e0ad8 ensure the canonical repo URL is always included in mirrors list
The mirror logic assumes that it has a mirrors list with at least once
valid entry in it.  In the index format as defined by `fdroid update`,
there is always at least one valid URL: the canonical URL.  That also
means if there is only one item in the mirrors list, there are no
other URLs to try.

The initial state of the repos in the database also include the canonical
URL in the mirrors list so the mirror logic works on the first index
update.  That makes it possible to do the first index update via SD Card
or USB OTG drive.
2018-12-20 22:58:13 +01:00
ButterflyOfFire
9380a6fd0f Translated using Weblate (Kabyle)
Currently translated at 50.4% (211 of 419 strings)
2018-12-20 22:56:53 +01:00
C. Rüdinger
89ce8cb5a9 Translated using Weblate (German)
Currently translated at 99.8% (418 of 419 strings)
2018-12-20 22:56:53 +01:00
Ldm Public
d6eb7ece89 Translated using Weblate (French)
Currently translated at 100.0% (419 of 419 strings)
2018-12-20 22:52:45 +01:00
Verdulo
09ffe21969 Translated using Weblate (Esperanto)
Currently translated at 100.0% (419 of 419 strings)
2018-12-20 22:51:06 +01:00
Hans-Christoph Steiner
2d2a36bab7 Weblate 2018-12-20 21:48:37 +00:00
Hans-Christoph Steiner
f7049a3295 display versionCode in expanded Versions list entries
closes #1326
2018-12-20 13:14:18 +01:00
dkanada
28863cf88f fix #1642 2018-12-18 08:55:32 +00:00
Hans-Christoph Steiner
0e6b4acabf
rename RepoUpdater to IndexUpdater 2018-12-17 17:17:28 +01:00
Hans-Christoph Steiner
148d1cdc8a rename AppDetails2 to AppDetailsActivity
This also moves it into org.fdroid.fdroid.views
2018-12-17 17:16:51 +01:00
dkanada
2b512d96c5 remove html method from changelog section 2018-12-14 02:48:22 +09:00
Hans-Christoph Steiner
b0ee5b120c version code 1005001 2018-12-12 23:56:04 +01:00
Hans-Christoph Steiner
b8dc569809 Weblate 2018-12-12 22:55:02 +00:00
Hans-Christoph Steiner
551b577bca Merge branch 'badge' into 'master'
use new design for other badge instances

See merge request fdroid/fdroidclient!754
2018-12-12 20:17:47 +00:00
darken
1ea4d0a330 Improve error messages, prevent duplicate information display.
Fixes #1144
2018-12-12 14:08:11 +01:00
dkanada
568ef56247 fix merge issues and tweak the header layouts a bit more 2018-12-09 16:37:18 +09:00
dkanada
85ed0d46ab string changes 2018-12-09 16:29:07 +09:00
dkanada
24a4da9d89 some layout modifications to Updates and AppDetails headers 2018-12-09 16:28:45 +09:00
Jan-Christoph Borchardt
9dd64b8cbc Avoid addressing person with 'me' (when 'you' is used elsewhere)
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-12-06 18:01:08 +00:00
Jan-Christoph Borchardt
09a7ec3fd3 Change inconsistent 'Upgrade' to 'Update'
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-12-06 18:01:08 +00:00
Jan-Christoph Borchardt
5f660501e3 Change technical 'Run' to more understandable 'Open'
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-12-06 18:01:08 +00:00
Hans-Christoph Steiner
c1db27715c switch all SDK version values to integers, as per definition
```
sed -E -i 's,("[a-z]+SdkVersion": )"([0-9]+)",\1 \2,' app/src/test/resources/*.json
```

* fdroid/fdroidserver!596
* fdroid/fdroidserver#593
* fdroid/fdroidserver#596
2018-12-06 16:07:56 +00:00
dkanada
3f00b2a4fb standardize version properties 2018-10-27 05:27:01 +09:00
dkanada
fef3309714 slight changes to update header 2018-10-27 05:27:01 +09:00
dkanada
ce1756db62 use new design for other badge instances 2018-10-27 05:27:01 +09:00
Hans-Christoph Steiner
f6a7029fed version code 1005000 2018-10-19 15:30:02 +02:00
Hans-Christoph Steiner
d191d10621 Weblate 2018-10-19 12:55:50 +00:00
Hans-Christoph Steiner
eb023887a5 fix checkstyle complaints
* LocalFinalVariableName
* EqualsAvoidNull
* EmptyLineSeparator
* SeparatorWrap
* LineLength
2018-10-18 15:07:54 +02:00
Hans-Christoph Steiner
409846e199 force DBHelperTest.canAddAdditionalRepos() to run on CI 2018-10-18 15:07:54 +02:00
Hans-Christoph Steiner
6dd4523d3c clean up whitespace in repo descriptions
This cleans up the whitespace in the description item, since the
XML parsing will include the linefeeds and indenting in the description.
2018-10-18 15:07:54 +02:00
Hans-Christoph Steiner
1788546267 rename parseXmlRepos to parseAdditionalReposXml 2018-10-18 15:07:54 +02:00
Hans-Christoph Steiner
ec58141379 rename item lists to repoItems 2018-10-18 15:07:53 +02:00
Hans-Christoph Steiner
9f3a32d986 rename defaultReposFile to additionalReposFile 2018-10-18 15:07:53 +02:00
Hans-Christoph Steiner
aace086da4 separate defaultRepos from initialRepos, which includes additionalRepos 2018-10-18 15:07:53 +02:00
Hans-Christoph Steiner
e8264d7dbb rename REPO_XML_ARG_COUNT to REPO_XML_ITEM_COUNT 2018-10-18 15:07:53 +02:00
Hans-Christoph Steiner
b9b7dab2c4 fix additional_repos.xml handling to be properly parsed
additional_repos.xml has 7 <item> elements per repo, while default_repos.xml
has 8.  The difference is that additional_repos.xml does not have the
"priority" <item> since it is not allowed to override anything that is set
in default_repos.xml.

see spec in !705
2018-10-18 15:07:53 +02:00
Hans-Christoph Steiner
7eb53518aa move comments to javadoc 2018-10-18 15:07:53 +02:00
Hans-Christoph Steiner
b529e10c4a priority is NOT ignored, just additional_repos.xml is not allowed to set 2018-10-18 15:07:53 +02:00
Hans-Christoph Steiner
95c375ac26 fix DBHelperTest to actually load and parse additional_repos.xml 2018-10-18 15:07:53 +02:00