4212 Commits

Author SHA1 Message Date
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
Peter Serwylo
6ad1f0faef More concise management of the main recycler view.
No longer bind the views as they become visible. This resulted in
the same view being bound multiple times, but that was unneccesary.
Given that there is only five types of view, and each view type only
ever gets used once, the binding can happen when the view holder is
created, rather than each time it is shown. This fixed a few bugs to
do with views being inflated multiple times.
2017-03-08 09:42:32 +11:00
Peter Serwylo
952024768a Initial work to support inline Download+Install button in app lists
Shows progress and download complete now, but left a few TODOs
lying around. These are mainly around the ability to then deal with
installing an app once download is complete.
2017-03-08 09:42:32 +11:00
Peter Serwylo
405279c0ff Added drawables for various states of downloading an app. 2017-03-08 09:42:32 +11:00
Peter Serwylo
2164a2662a Update repository on first run of F-Droid. 2017-03-08 09:42:32 +11:00
Peter Serwylo
09af5402e8 Reference MainActivity instead of FDroid where appropriate.
Left old references to FDroid from within classes that are only part
of the old UI. These are to be removed once the new UI is done.
2017-03-08 09:42:32 +11:00
Peter Serwylo
f9a860e00c Show search button on keyboard when searching. 2017-03-08 09:42:32 +11:00
Peter Serwylo
908d5f3a05 Added search floating action button to Overview and Categories screen.
Both times it launches the AppListActivity with an empty search box
focussed.
2017-03-08 09:42:32 +11:00
Peter Serwylo
7209ab87f5 Tweak some button styles with those added in !419.
The styles used by the app details showed good padding on either
side of the buttons text. This was because they had a certain amount
of screen space to fill up which resulted in nice empty space on either
side of the text. Other buttons do not have this type of layout, so
need to have a minimum amount of padding thrust upon them.

Required breaking out into values-v17 too, so refactored common styles
into base style to make this easier.
2017-03-08 09:42:10 +11:00
Peter Serwylo
ffa3a8dbf3 Until feature images are properly supported, use abstract art instead.
As per the main screens feature image behind the "Recently added"
items, also use the same abstract artwork as a placeholder for the
feature image in app details.
2017-03-07 22:16:32 +11:00
Peter Serwylo
b2d11091a7 Added funky artwork to feature image when not present
Draws two rows of triangles, each coloured randomly according to
the dominant colour in the apps icon.

Given that the colour is probably assigned to the FeatureImage in response to
a network request finally downloading an image, there is a period of no feature
image. After the colour is provided, then if it is set instantly it tends to
look jerky. This eases in the colouring of the feature image.
2017-03-07 22:16:32 +11:00
Peter Serwylo
d67f23b60c Merge branch 'new-ui--main-screens--v1' into 'master'
Initial UI for new main screens

See merge request !433
2017-03-07 08:59:29 +00:00
Peter Serwylo
a954b1cd76 Switch CI image to one hosted on GitLab. 2017-03-07 18:21:18 +11:00
mvp76
258064d495 Use item decorator in preference to inline ImageView.
This eliminates the need to include the drawable in the
app_list_item layout.
2017-03-07 18:21:18 +11:00
mvp76
6e613ad952 Don't use deprecated method 2017-03-07 18:21:18 +11:00
mvp76
fd22ee01e0 Let the adapter handle the decorator
This should remove the hackiness of decorator being added several times.
2017-03-07 18:21:18 +11:00
mvp76
48b21626e4 Remove static mapping arrays
@pserwylo Not sure if you like this change. I think it's slightly more
elegant, but don't have a strong opinion.
2017-03-07 18:21:17 +11:00
mvp76
89fa83c8c7 Set BottomNavigationView background
Otherwise we'll have white "padding" on large screens, e.g. Nexus 7.
2017-03-07 18:21:17 +11:00
mvp76
083339f60e No need for custom attribute
From what I know, actionBarTheme and actionBarPopupTheme will do the
job.
2017-03-07 18:21:17 +11:00
mvp76
a814792594 Break out library version for easier updates in the future 2017-03-07 18:21:17 +11:00
mvp76
bfd5c525b0 Remove unused import 2017-03-07 18:21:17 +11:00
Peter Serwylo
34e176539b Add swipe-down-to-refresh-repos on main overview screen.
Happy to discuss whether this is a good idea or not, but right now
there is no way to update repositories so often you are left with
an empty first screen.

This doesn't worry about state management (e.g. remembering
whether we are refreshing or not and showing this when we resume the
activity). Instead, it listens for the refresh listener, and when
triggered it will set the refreshing state to not refreshing. For now
the notification can act as the feedback that something is happening.
2017-03-07 18:21:17 +11:00
Peter Serwylo
26b9e09f2f Launch AppDetails2 instead of AppDetails in most places. 2017-03-07 18:21:17 +11:00