4284 Commits

Author SHA1 Message Date
Peter Serwylo
0826533d40 Describe the status of an update, rather than showing the app summary. 2017-03-22 08:55:26 +11:00
Peter Serwylo
c275fae9b7 Switch to rounded buttons. 2017-03-22 08:55:26 +11:00
Peter Serwylo
df5db32451 Check downloaded apks on F-Droid first start.
This will read downloaded .apk files from the disk cache in the background.
For each apk that corresponds to an app which can be updated, the status
manager is notified.
2017-03-22 08:55:26 +11:00
Peter Serwylo
4f73b10230 Prefer start/end over left/right
Even though it doesn't matter here because it is going from one side of
the parent all the way to the other. I hope it makes it easier if we
completely avoid right/left and only ever use start/end. Then searching
for RTL problems will be easier.
2017-03-22 08:55:26 +11:00
Peter Serwylo
ce2ac71206 Add support for linear progress bar to installed app layout. 2017-03-22 08:55:26 +11:00
Peter Serwylo
40cc328e98 Updates: Implemented new UI for "Updates" screen.
Alows for more flexibility in what we are able to display, including:
 * Prompting users to donate to frequently updated apps
 * Showing messages from package maintainers to users
 * Marking apps for later installation when offline

Most of these are not yet implemented, but will be able to when
required, whereas they were not able to in the previous UI.
2017-03-22 08:55:26 +11:00
Peter Serwylo
7659c3a33f Renaming 'My Apps' to 'Updates'.
This doesn't change the `MyAppsAdapter` and friends, because they will
be gutted in a subsequent commit.
2017-03-22 08:55:26 +11:00
Peter Serwylo
d4716e6387 Added comments to further explain broadcasts. 2017-03-22 08:55:26 +11:00
Peter Serwylo
23d40dbca0 Added dependency to make working with complex RecyclerViews more manageable.
There were a few different options around, but some of the best ones
which provided the most flexibility when adding diverse/complex
viewTypes to a recycler view target a minsdk above 10.

The "adapterdelegates" library still offers a big improvement on vanila
adapters, especially for the Updates view.
2017-03-22 08:55:26 +11:00
Peter Serwylo
9e2f7edff4 Updated icons in bottom nav to newest versions.
Fixes issue #838.
2017-03-22 08:55:26 +11:00
Peter Serwylo
c1cf153852 Merge branch 'new-ui--categories-imagery' into 'master'
Categories artwork

Closes #851

See merge request !448
2017-03-21 21:53:49 +00:00
Peter Serwylo
f93a1ba6e4 Correctly select categories for app based on highest priority metadata. 2017-03-22 08:00:20 +11:00
Peter Serwylo
bded83d8a3 Added test to ensure repo priority plays nice with categories
This is in response to identifying a bug with the way priorities work
with categories. Two repos may both specify different categories for
the same package. In this case, F-Droid should only select the
categories from the highest priority repo. Well, it is not to say that
this is the most preferable option, but it is consistent with other ways
that repo priorities are used.
2017-03-22 08:00:20 +11:00
Peter Serwylo
bc1ff7d8c8 Show abstract art behind categories without predefined images.
In the process refactored the FeatureImage class to not be dependant on
an instance of Palette for its colours.
2017-03-22 08:00:20 +11:00
Peter Serwylo
1776b1e2c3 Make 'view all' category button have ripple background. 2017-03-22 08:00:20 +11:00
Peter Serwylo
e4766645eb Improve image loading performance by using UniversalImageLoader to background the task
Doing this required tweaking our `IconDownloader` which we give to the
UIL init method in FDroidApp. It only knew how to load from HTTP, but we
needed it to fetch `drawable://` images too (which the library
supports). In addition, it has been renamed `ImageDownloader` as it also
is now used for screenshots/feature images.
2017-03-22 08:00:20 +11:00
Peter Serwylo
7796a3f374 Category images and colours added.
Note that the category images are not scaled for each drawable
directory (would like to move to vectors).
2017-03-22 07:51:07 +11:00
Peter Serwylo
ff946f6a7d Translate category names. 2017-03-22 07:51:07 +11:00
Mikael
a7828bcb9e Merge branch 'new-ui--app-deatils-scroll' into 'master'
Scroll app details appropriately when expanding sections.

Closes #875

See merge request !445
2017-03-21 14:11:34 +00:00
Hans-Christoph Steiner
61e219a02e Merge branch 'placeholder_images_for_screenshots_897' into 'master'
Placeholder images for screenshots 897

See merge request !450
2017-03-20 18:29:02 +00:00
mvp76
34efdf1822 Use the screenshot placeholder image from assets 2017-03-20 12:10:51 +01:00
mvp76
3f04606fcc Extend IconDownloader to handle asset:// protocol
This is currently needed for screenshot placeholders, but might be
useful in the future as well. Note that the default BaseImageDownloaded
supports this, as well as content:// and drawable:// protocols.
2017-03-20 12:10:13 +01:00
Peter Serwylo
b01a871d9d Move app details view up when expanding links/permissions 2017-03-20 19:48:25 +11:00
Peter Serwylo
c65029ae8d Extract functionality to show correct expand/collapse icon
This was not updating the versions expand icon correctly when the user
clicked on it. It was working when they scrolled away and returned to
the versions list. Now it works for both.
2017-03-20 19:48:25 +11:00
Peter Serwylo
b72c418f11 Scroll appropriately when expanding versions 2017-03-20 19:48:25 +11:00
Peter Serwylo
dcf41bcdf2 Merge branch 'gitlab-ci-update' into 'master'
Gitlab ci update

See merge request !449
2017-03-20 07:05:13 +00:00
Hans-Christoph Steiner
655030d1b6 gitlab-ci: require connected24 check now that its fixed
* new docker image: ci-images/client
* switched back to ARM emulator, now that gitlab doesn't allow KVM
2017-03-17 14:02:38 +01:00
Hans-Christoph Steiner
e69c04458f gitlab-ci: build before starting emulator to speed things up
The emulator will grab a bunch of RAM, so run assemble before
connectedCheck so that the app is mostly built before starting the
emulator.
2017-03-17 12:42:59 +01:00
Hans-Christoph Steiner
2c7489508f gitlab-ci: ensure compile platform is installed
Avoid broken builds when fdroidclient gets out of sync with
ci-images/client.

`emulator -no-skin` no longer does anything, but give a warning.
2017-03-17 12:29:45 +01:00
Hans-Christoph Steiner
09ab4b0051 Merge branch 'ci-arm' into 'master'
gitlab-ci: Use ARM emulator for API 24 as well

See merge request !447
2017-03-16 12:03:31 +00:00
Chirayu Desai
0c4059d053 gitlab-ci: Use ARM emulator for API 24 as well
* x86 emulator requires kvm which isn't always available on the
  GitLab CI runners.
2017-03-16 16:35:19 +05:30
Peter Serwylo
c6f7eefddd Merge branch 'new-ui--main-screens--v2' into 'master'
Improved UI for new main screens

Closes #734, #867, and #882

See merge request !434
2017-03-13 23:55:23 +00:00
Peter Serwylo
e8b24bc994 Bumped robolectric target to the same as our compile target
When we first bumped to v24, robolectric didn't support it. Now it does.
2017-03-14 09:49:55 +11:00
Peter Serwylo
ce946f4257 Bump robolectric version
There were troubles with the particular version of gradle plugin and
gradle that we were using, which has since been fixed by robolectric.
2017-03-14 09:49:55 +11:00
Peter Serwylo
259dd38ae9 Extracted triedEmptyUpdate preference. 2017-03-14 09:49:52 +11:00
mvp76
a3de43ff7a Adjust width of toolbar 2017-03-13 11:10:29 +01:00
mvp76
84f844109a Fix typo 2017-03-13 09:25:02 +01:00
mvp76
3139415172 Get WIFI_SERVICE using application context to avoid leaks.
Linting complains about this issue.
2017-03-13 09:14:43 +01:00
Peter Serwylo
8fbf67c03c Let connected-24 tests fail.
Although these didn't used to fail at all, they now _always_ fail due to
the Docker setup we run on GitLab. Until we get that fixed, the CI is
not very helpful if it fails every time, and we merge anyway. This
allows us to at least correctly use the "Merge when succeeds" behaviour.
2017-03-08 10:46:08 +11:00
Peter Serwylo
13362aad2e Redo litecoin icon to prevent crash
Fixes #882.

Couldn't figure out the exact cause of going from Inkscape .svg to
Android VectorDrawable, so redrew it in inkscape and this time it works.
*shrug*.
2017-03-08 10:34:23 +11:00
Peter Serwylo
045dd7a94c Fix constraint on search box.
The layout width should be 0dp if you want it to be set to whatever the
constraint layout wants to calculate.
2017-03-08 10:34:23 +11:00
Peter Serwylo
c3b8134be7 Update langs-list-check
Was failing with `sw720dp-v21` directory that contained a `dimens.xml`
file. Also sorted output to make it easier to compare while here.
2017-03-08 10:34:23 +11:00
Peter Serwylo
2eab1d0e6d Replace "Recently updated" and "Whats new" with "New" tag.
As per the newer design iteration.

Also re-order the items on the main page so new items always come before
recently updated ones from the same day.
2017-03-08 10:34:23 +11:00
Peter Serwylo
a1a7427cd2 Added "Installed Apps" activity to top of settings.
This is as per the mockup in issue #840, and does the following:

 * Adds a new `PreferencesCategory` of "My Apps" at the top of the
   preferences screen.
 * Adds a "Manage Installed Apps" preference, and moves the
   "Repositories" preference into this category.
 * Repeals an existing change which prevented "updateable" apps from
   appearing in the list of "installed" apps. This is because the two
   lists of apps are no longer displayed alongside eachother.
 * Enhances the `AppListItemController` to also be able to display
   whether or not the currently installed version is the recommended
   version or not.
 * Also adds option to display whether the user has asked to ignore any
   updates for any specific apps.
2017-03-08 10:34:22 +11:00
Peter Serwylo
92943ebdf3 Port intent which handles incoming fdroid repos from NFC.
Moved intent-filter from FDroid to MainActivity. Can test from the
command line with:

```
adb shell am start -a android.nfc.action.NDEF_DISCOVERED \
 -d fdroidrepo://10.0.1.10:8888/fdroid/repo
```
2017-03-08 10:33:32 +11:00
Peter Serwylo
5e6eed9963 Ported 'Add repo' intents from FDroid to MainActivity 2017-03-08 10:33:32 +11:00
Peter Serwylo
3bc97d931b Ported 'View App' and 'Search' intents from FDroid to MainActivity 2017-03-08 10:33:32 +11:00
Peter Serwylo
b8de545179 Port NFC + Tor bootstrap code from FDroid to MainActivity 2017-03-08 10:33:32 +11:00
Peter Serwylo
02dae30a1b Allow apps to be installed after download is completed.
Show an install button after the download is complete so the user can
click it to initiate an install. This is in preference to popping up
install manager activities on their behalf, because they may have queued
up several apps to update.
2017-03-08 10:32:43 +11:00
Peter Serwylo
9acc34c9ba Tweak accessibility so that visually impaird people can use F-Droid well.
Things that are still not right:

 * BottomNavigationView doesn't read out the title of items when selected.
   Created this issue: https://code.google.com/p/android/issues/detail?id=230595&thanks=230595&ts=1482125499
 * TTS reader combines the app name and summary without a pause which is jarring.
 * Touching the background of the recycler view in the categories view reads all category names.
 * Likely other problems too.
2017-03-08 09:42:32 +11:00