740 Commits

Author SHA1 Message Date
Peter Serwylo
5f09c80914 Make constants static.
Not any need at this point for them to be object properties.
2016-12-01 12:15:35 +11:00
Peter Serwylo
2e1484bcb2 Correctly check whether mailto: links can be handled
Similar to the litecoin/bitcoin/flattr stuff, we need to check that a
proper URI can be handled via an intent. This previously just checked
whether the email address could be handled without the mailto: prefix.
2016-12-01 12:15:35 +11:00
Peter Serwylo
a0c40bcaae Remove some commented out code 2016-12-01 12:15:35 +11:00
Peter Serwylo
920e6499ab Minor formatting 2016-12-01 12:15:35 +11:00
Peter Serwylo
4a92a37df2 Use TextUtils.isEmpty instead of null and length check 2016-12-01 12:15:35 +11: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
Peter Serwylo
774ca02d22 Use correct URIs when attempting to show donate links.
This extracts the functionality from the old AppDetails which prefixes
donation links with the relevant scheme (bitcoin: or litecoin:) or URL
(https://flattr.com/thing/) into the App class.
2016-12-01 12:15:31 +11:00
Peter Serwylo
190cf40ff9 Make assumption that app is non-null explicit
The adapter has a hard coded assumption that mApp is never null.
This documents it as such by making the member variable @NonNull.
This is not perfect, because the consumer of this class doesn't quite
seem to check this constraing properly, however at least within the
class it adds some explicit documentation that is understood by editors
and lint that this is a non-nullable field.
2016-12-01 12:15:31 +11:00
Peter Serwylo
1eb7d389f2 Refactor setProgress code for the header view.
Each call site of the `getHeaderView()` method needed to do a null
check and then it would call `setProgress()`. This has been replaced
with two methods `setProgress()` and `clearProgress()` to make it a
bit less repetative and harder to accidentally get a NPE in the future
by invoking `getHeaderView()` incorrectly.
2016-12-01 12:15:31 +11:00
Peter Serwylo
7d2d22cf96 Extracted variable, made code fit on single lines. 2016-12-01 12:15:31 +11:00
Peter Serwylo
4c42e73243 Removed unused imports 2016-12-01 12:15:31 +11:00
Daniel Martí
af24db2d14 Bump to 0.102 2016-11-28 12:15:30 +00:00
Daniel Martí
a8b84ff815 Add two new languages to list 2016-11-28 12:11:51 +00:00
F-Droid Translatebot
f566a53efb Pull translation updates from Weblate
Translators:

Ajeje Brazorf          Sardinian
Alberto Moshpirit      Spanish
Andreas Nordal         Norwegian Bokmål
Clara Chido            Shona
Enol P                 Asturian
E T                    Turkish
ezjerry liao           Chinese (Traditional)
Licaon Kter            Romanian
naofum                 Japanese
Nebojsa Tausanov       Macedonian
Nutchanon Wetchasit    Thai
Osoitz                 Basque
Sylvia van Os          Dutch
Tawanda Mugari         Shona
Verdulo                Esperanto
Verdulo                Polish
Yaron Shahrabani       Hebrew
YFdyh000               Chinese (Simplified)
zmni                   Indonesian
2016-11-28 11:59:17 +00:00
mvp76
3b23ea019b Reset build files to release 2016-11-25 10:07:56 +01:00
mvp76
e1af82c5f8 Adjust margins 2016-11-25 09:46:35 +01:00
Peter Serwylo
18885a66c2 Ensure app-category join table is cleared out properly upon disabling repo.
There are certain things we can leave in the database even when they
are not being used. The criteria for this is:
 * Could it be used again in the future?
 * Can it be excluded from queries easily while it is unused?

Examples are entries in the package table, and entries in the category table.

This fixes a problem where entries in the category-app join table stayed in
the database, causing categories to be considered as "in use" when really there
were no apps in those categories. These rows need to be removed, because when
new apps are added again in the future, they will have different primary keys.
These different primary keys mean that the rows in the category-app table will
never be useful again, and thus should be removed.

Fixes #806.
2016-11-24 15:18:19 +11:00
Peter Serwylo
99ad9752c8 Use repo foreign key from app rather than apk table.
Since recently, app metadata now knows which repo it comes from.
As such, we no longer need to ask the apk table for this info.
2016-11-24 15:18:19 +11:00
Peter Serwylo
5be23b793e Added test to ensure categories are remoed when a repo is disabled.
This will help diagnose, test, and prevent regressions of #806.
2016-11-24 15:18:19 +11:00
mvp76
05f13df17a Separate adapter from rest of activity 2016-11-23 12:37:26 +01:00
mvp76
b36e581480 Fix snap helper 2016-11-23 12:37:06 +01:00
mvp76
d02ea05865 Add the download/install progress bar 2016-11-21 17:01:03 +01:00
mvp76
b2d363b947 Add new Nearby icon to share dialog 2016-11-21 14:39:15 +01:00
mvp76
4a25df8461 Add version items directly to RecyclerView 2016-11-21 10:48:51 +01:00
mvp76
0855c0affe Change icon for versions (and add string!) 2016-11-18 16:07:18 +01:00
mvp76
f3e88535f9 Load feature graphic (currently large icon) 2016-11-18 15:55:44 +01:00
mvp76
30bcad963e Move from ListView to LinearLayout temporarily
These need to go into t he recyclerview instead.
2016-11-18 15:39:53 +01:00
mvp76
7061e47a8c Fix toolbar icons 2016-11-18 15:39:53 +01:00
mvp76
5a0b625dc0 Add Nearby to share (if applicable) 2016-11-18 15:39:53 +01:00
mvp76
46308dcbde Added share to details view
TODO: still need to add Nearby
2016-11-18 15:39:53 +01:00
mvp76
d90cb040b1 Move some files and add donate section 2016-11-18 15:39:53 +01:00
mvp76
d3247b9cfd Post update, so all receivers have run 2016-11-18 15:39:53 +01:00
mvp76
be16137553 Install/Uninstall
Does not work yet, race condition on the listeners I guess.
2016-11-18 15:39:53 +01:00
mvp76
7469a1cdab Some layout and color fixes 2016-11-18 15:39:53 +01:00
mvp76
88c60b98f9 Added permissions section 2016-11-18 15:39:53 +01:00
mvp76
56f0505d4a Added versions section
TODO: need string and icon
2016-11-18 15:39:53 +01:00
mvp76
0898db3490 Add click handler to links 2016-11-18 15:39:53 +01:00
mvp76
3eb2a5eb96 Added the links section, cleanup some code 2016-11-18 15:39:53 +01:00
mvp76
34450569b3 Initial work on details view 2016-11-18 15:39:53 +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
Peter Serwylo
43303d17cc Merge branch 'master' into 'master'
Fixed long version overriding app name (issue #322)

Also, fixed deprecated "singleLine" property to "maxLines="1"".
Also removed reduntant (legacy) padding declarations, for the files used exclusively by newer APIs which override those declarations with new ones.

See merge request !417
2016-11-16 21:39:24 +00:00
Peter Serwylo
35996952ef Merge branch 'rework-net-for-0.102' into 'master'
Rework net for 0.102

This is a collection of targeted fixes for the %"0.102" release.  Most of them are quite narrowly targeted bug fixes.  I couldn't avoid reworking the update scheduling in order to fix some of the listed bugs.  This is the only part that seems possible to have regressions.  In any case, if there are regressions, they will be in a very limited chunk of the code, in `UpdateService`, which we have no plans to touch in %"0.103 - UX Overhaul" so it'll be easy to do a 0.102.1 release.

See merge request !415
2016-11-16 21:19:15 +00:00
aleksandar-stefanovic
e01ec5f3e8 Fixed long version overriding app name (issue #322)
Also, fixed deprecated "singleLine" property to "maxLines="1"".
Also removed reduntant (legacy) padding declarations, for the files
used exclusively by newer APIs which override those declarations with new ones.
2016-11-16 21:46:55 +01:00
Hans-Christoph Steiner
b799fe8494 follow "Only on WiFi" preference strictly
This is a tested version of pserwlyo's suggestion in !415
https://gitlab.com/fdroid/fdroidclient/merge_requests/415#note_18469122
2016-11-15 21:36:30 +01:00
F-Droid Translatebot
5925851f40 Pull translation updates from Weblate
Translators:

Anteri                  Finnish
Enol P                  Asturian
Jonatan Nyberg          Swedish
Mladen Pejaković        Serbian
Sami “6sto” Kuusisto    Finnish
Tacsipacsi              Hungarian
2016-11-15 20:27:30 +00:00
Hans-Christoph Steiner
7e7ec966ee improved internet state handling for updates, including metered
This introduces three network states:

1. completely disconnected
2. connected only via metered networks
3. connected via unlimited networks

This allows the update process to use bandwidth better, especially when the
user has enabled the "Only on WiFi" setting.  It also helps prevent silly,
cryptic error messages in the update process is triggered when there isn't
internet available.

I tested this with:

* 4G only, but not set up for internet
* 4G only, with internet
* 4G + WiFi
* WiFi only airplane mode
* no internet at all, full airplane mode

closes #793
closes #774
2016-11-14 16:03:37 +01:00
Hans-Christoph Steiner
e14cb9d16a treat ethernet as WiFi when checking updates
Its really easy to use USB Ethernet devices with ChromeOS and some Android
devices like Android TV.  ChromeOS now supports Android apps.  Since really
the goal is to avoid metered networks, and ethernet is very rarely metered,
this fits in with the user expectations around the preference.  And if it
doesn't, there are very few people using Ethernet with F-Droid right now,
so whatever harm does happen will affect an extremely limited number of
people.
2016-11-14 09:36:45 +01:00
Hans-Christoph Steiner
6545a26e31 set HTTP User Agent to "F-Droid"
First, this is more honest than just using the default since it is saying
what the actual software is.  Second, it protects identity, since the
default User Agent on Android can have a lot of info in it, for example:

"Dalvik/2.1.0 (Linux; U; Android 5.1; XT1039 Build/LPBS23.13-17.3-1)"
2016-11-14 09:36:45 +01:00
Hans-Christoph Steiner
ab1e869ebe use HEAD request when just checking the file size
This code will be changed again when implementing the client-side etag
check #562

closes #777
2016-11-10 20:44:53 +01:00