Client merge requestshttps://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests2017-09-28T02:30:58Zhttps://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/584Swipe to dismiss updates2017-09-28T02:30:58Zusername-removed-25042Swipe to dismiss updatesFixes #1131. Though not using the full UX described by Carrie. Rather than revealing a hidden menu with a button to dismiss, it will instead respond (hopefully-) appropriately depending on the item being dismissed:
* **Ready to insta...Fixes #1131. Though not using the full UX described by Carrie. Rather than revealing a hidden menu with a button to dismiss, it will instead respond (hopefully-) appropriately depending on the item being dismissed:
* **Ready to install** - We'll forget you ever wanted to install it. It stays in the cache, but the prompt to install will go away until you ask to install it again. Doesn't bother showing a toast.
* **Downloading** - Download will be canceled. Shows a Toast with "Download canceled"
* **Installed, ready to run** - Remove the item from the updates tab. Note that this happens already after tapping "Run" once, or even closing F-Droid then reopening. But it makes perfect sense to swipe and dismiss this too. Doesn't bother showing a toast.
* **Can be updated** - Same as if you went to app details and checked "Ignore this update". Shows a toast saying "Update Ignored".1.0https://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/571WIP: Change background colors of dark theme to material default ones2017-09-25T00:09:14Zusername-removed-723773WIP: Change background colors of dark theme to material default onesThe dark theme colors were set to full black for many screen backgrounds which made the elevation shadows invisible. I removed many of the color overrides so the default gray values for dark themes are used (https://material.io/guideline...The dark theme colors were set to full black for many screen backgrounds which made the elevation shadows invisible. I removed many of the color overrides so the default gray values for dark themes are used (https://material.io/guidelines/style/color.html#color-themes). This way all main screens (settings, new, swap, etc.) have the same background color and overall color scheme. Also, the app details screen now has much more contrast.
Additionally I removed the green ripple color (which looked a bit off - especially on the blue bottom navigation) so the default gray one is used instead.
![Screenshot_20170828-204929](/uploads/d4f3c764e35070a4e40264e83d6ccf2f/Screenshot_20170828-204929.png)
Please let me know if I should do more changes or roll back something.https://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/548Add progress reporting for index-v12017-07-03T06:30:43Zusername-removed-25042Add progress reporting for index-v1Fixes #1054.Fixes #1054.1.0-alpha0https://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/446Updated icons in bottom nav to newest versions.2017-03-17T00:13:33Zusername-removed-25042Updated icons in bottom nav to newest versions.Just replaces some drawables with others from #838. Fixes issue #838.
![icons](/uploads/3f08ea18bd33bf2cb7f30a81d6f67061/icons.png)Just replaces some drawables with others from #838. Fixes issue #838.
![icons](/uploads/3f08ea18bd33bf2cb7f30a81d6f67061/icons.png)0.103 - UX Overhaulhttps://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/425New UI for main screens2017-02-20T23:44:48Zusername-removed-25042New UI for main screensThis is the bulk of the UI designs outlined in #709. It is missing some key parts which I'll document below, but here is the things it does support:
* Five tabs on the main screen with bottom navigation
* Overview, aka "What's New?...This is the bulk of the UI designs outlined in #709. It is missing some key parts which I'll document below, but here is the things it does support:
* Five tabs on the main screen with bottom navigation
* Overview, aka "What's New?"
* Categories
* Swap (just an entry point to the existing swap activity)
* My Apps (Updateable and Installed - have another branch with just "Updateable" as per the newer mockups)
* Settings
* Integrated with the new App Details screen recently merged into master
* Searchable list of apps (viewable by either going to a category or via the main search button)
Each of these has screenshots below.
# Code
The diff is huge, but I've rebased it so that if you review the first X commits then we can create a MR with those and it should build and work. I didn't think it was neccesary to send through 10 MRs for this though, so feel free to review as a whole, or review individual commits and request we merge bit by bit.
# Missing features (in future MRs)
**General UI stuff**
- [x] Ensure accessible everywhere. I've gone through and made most places accessible. The only outsanding issues are now:
- [ ] BottomNavigationView doesn't read out the title of items when selected. I created [this issue](https://code.google.com/p/android/issues/detail?id=230595&thanks=230595&ts=1482125499) in AOSP to address it. If that doesn't get addressed, then [this repo contains the code in a way that would likely be easier to fork and patch](https://github.com/material-components/material-components-android/blob/ec6337332237cb10659bfd3a966d33769d40b982/lib/src/android/support/design/widget/BottomNavigationView.java).
- [ ] TTS reader combines the app name and summary when reading app lists. It should pause inbetween reading both as if it is a different sentence.
- [ ] Touching the background of the recycler view in the categories screen reads out all category names. Not sure if that is a good or bad thing.
- [ ] Likely other problems too. It would be ideal to get some feedback from visually impaired users to find out whether we've done an alright job or not.
- [ ] Ensure API 10 supported
- [x] Ensured no crashes due to API incompatibility.
- [ ] There are some minor layout quirks, mainly around the absence of padding where there should be padding, and other minor things like that. This should all be resolved only once we have decided that the UI is final, because it requires copy-pasta-ing code from one layout to another.
- [ ] Paddings/font-sizes/etc should be measured out more accurately as per the mockups in #709.
- [ ] All inline styles should be moved to theme, so that people can contribute new themes relatively easily.
- [x] Drop shadow on the inline download buttons (on My Apps or the other app list screens)
* Done in `pserwylo/new-ui--inline-download-improvements` branch.
- [x] Download button should probably be filled with white, because the other buttons with blue borders are.
* Done in `pserwylo/new-ui--inline-download-improvements` branch.
- [ ] Text under app in overview screen should be "Just added" not "Recently updated"
- [ ] "Recently Updated" and "Just added" on overview tab should be grey not black.
**General UI stuff (pending further design discussions)**
Requires feedback from @crwinfrey and other interested parties before deciding what to do:
- [ ] When there are no apps to update, My Apps could look nicer.
- [ ] The "Installed" section should not just be empty if the repo hasn't been updated. The user will indeed have installed apps on their phone, just not any provided by a current repository in their F-Droid client)
- [ ] When there are no apps to show in the overview, should show some sort of feedback.
The following are subject to feedback (of one form or another) from the latest round of user testing by @crwinfrey. They probably need to be revised/reconfirmed before implementing:
- [ ] Overview page hasn't implemented the "Show four different apps in the prime position and let the user choose a different one via the dots under the app description" part of the UI.
- [ ] Category icon should change to that proposed by Carrie (the happy/sad masks)
- [ ] Number of updateable apps shown on the bottom navigation bar (in a red circle to the top right of the "My Apps" icon)
**Categories screen**
Shouldn't just choose the first X apps in alphabetical order each time.
* Maybe the most recent or something?
* We discussed maybe rating based on the quality of the metadata, to encourage people to get their metadata up to scratch, and to showcase apps which make the client look feature rich.
* Otherwise a random selection would be fine, where the random selection could be seeded based on, e.g. the current day, or it could pick new apps each time the user navigates to that screen.
**Misc**
The following things are no longer accessible due to the loss of the menu in the main screen:
* About dialog
* Should this go in the settings screen now?
* Update repos
* In the mean time, I've added a functional pull-to-refresh which we can decide whether to keep or not later.
* Bluetooth F-Droid to another phone
When no apps are available, show something on the main page.
# Known bugs
**Feature Image artwork sometimes renders blank after returning from elsewhere**
# Screenshots
## Five tabs on the main screen with bottom navigation
![main.whats-new](/uploads/2e3e553fb05dcc8bd712fc4de403c139/main.whats-new.png) ![main.categories.v2](/uploads/caf98988a1783047d1f4ff4e6fe8a1ef/main.categories.v2.png) ![main.swap](/uploads/4b602ebffc826acefd4b4389db109f53/main.swap.png) ![main.my-apps.01](/uploads/64ecacf103402d23afc41bfb0f216f9f/main.my-apps.01.png) ![main.my-apps.02](/uploads/c8f72e547a0daafa66e70cdad3e52595/main.my-apps.02.png) ![main.settings](/uploads/e28b9a08e10f47255f4c7440a4a58324/main.settings.png)
## Integrated with the new App Details screen recently merged into master
![app-details](/uploads/934bc4a126f2a1c93a4eb21ece4fd75b/app-details.png)
## Searchable list of apps (viewable by going to a category right now, but in the future also via the main search button)
![app-list.category](/uploads/246e952833c5958eb26f3ca6d9aa86d5/app-list.category.png) ![app-list.category.search](/uploads/3c5fa8e1a7eb8098c467401bacc61196/app-list.category.search.png) ![app-list.search](/uploads/324d28f9c1e6f42ac0f0b0d95be63ecb/app-list.search.png)0.103 - UX Overhaulhttps://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/275WIP: Don't show progress bar in `AppDetails` after completion.2016-12-12T17:37:19Zusername-removed-25042WIP: Don't show progress bar in `AppDetails` after completion.*Note: This is marked as WIP because it shouldn't be merged until !274 gets merged (it is branched from that).*
Fixes #624.*Note: This is marked as WIP because it shouldn't be merged until !274 gets merged (it is branched from that).*
Fixes #624.0.100https://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/311WIP: Download progress in main UI2016-12-12T17:37:18Zusername-removed-25042WIP: Download progress in main UI# Summary
WIP Implementation of #592.
This WIP branch puts currently downloading apps in the "Installed" tab of the main app list. As part of this, it:
* Removed the count of installed apps from the tab label.
* Instead shows t...# Summary
WIP Implementation of #592.
This WIP branch puts currently downloading apps in the "Installed" tab of the main app list. As part of this, it:
* Removed the count of installed apps from the tab label.
* Instead shows the number of downloading apps.
* Ensures the apps which are currently in the install queue are at the top of the list of installing apps.
* Displays a separator between the installing apps and the installed apps.
# TODO
In general, it has the shape that I want to achieve going forward. There are a few things I still need to do:
* Right now, the layout.xml file is only up to date for v21. Once I/we settle on a suitable UI, then I'll bring the other layout.xml up to scratch too.
* Only apps _currently in the queue_ are displayed. Once the download finishes and the "Tap to Install" notification is added, they are no longer in the queue, and thus no longer in the Installed tab.
* I think the "Downloading..." button is overkill. I had it there because at first, I imagined it working like the button in the AppDetails activity (i.e. disabled with "Downloading..." or enabled with "Install"). Instead, I think I'll make the progress bar go all the way along from left to right, and then replace the "Status" text view (i.e. the one which shows the app version) will say "Downloading...". Once downloaded, the button will then be shown with "Installed".
* The progress bar is not actually hooked up to the broadcasts yet, it is only showing an indeterminate progress bar for each apk.
# Screenshots
Here is the installed list without any downloads in the queue. Note how it no longer shows how many apps are installed in the tab title.
![installed-list.normal](/uploads/2450732095ca2068d4d1c20f53c7b3c4/installed-list.normal.png)
These screenshots show the pending downloads. Note how they are all at the top of the list, how there is a separator between the downloading apps and the installed apps, and how it is not a fixed header, but rather scrolls with the rest of the apps.
![installed-list.downloading](/uploads/35ccb8482d3f0db412689ce76d77079e/installed-list.downloading.png)
![installed-list.downloading.scrolled](/uploads/bfaa71284bbe2418851bf5194cb1e1c5/installed-list.downloading.scrolled.png)0.101https://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/291Correctly expand list of nearby people to the entire height of the screen.2016-11-27T17:52:22Zusername-removed-25042Correctly expand list of nearby people to the entire height of the screen.*NOTE: To be cherry-picked into stable-v0.100*
If the device is small, then the "Conenct and trade apps with people near you"
header takes up too much space and we end up not being able to see any nearby
people at all, even if they ...*NOTE: To be cherry-picked into stable-v0.100*
If the device is small, then the "Conenct and trade apps with people near you"
header takes up too much space and we end up not being able to see any nearby
people at all, even if they are in the list. As such, this also removes that
header for "small" and "ldpi" devices. During testing I found that "small" was
not enough, because a 240x400 screen is considered "medium" and there is not
enough space. ldpi seems to be a reasonable metric for "that header is going to
be taking valuable space and should not be shown then".
All larger devices retain the header and seem to look nice.
This also pushes the "Can't find what you're looking for?" message and associated
buttons right to the bottom of the screen. This is more in line with the original
design.
Fixes #604.
# Screenshots
## No good
The image below shows a 240x400 device. This falls into the "medium" screen size, and so would include the header if I only used "layout-small". As such, I also removed the header for "layout-ldpi". It doesn't look absolutely terrible, but remember that this is an emulator without Bluetooth, and as such it is missing a UI element for enablign Bluetooth which would take up the remaining real estate:
![emu-240x400](/uploads/330e4787b02f8f738afc0873ad197c29/emu-240x400.png)
## Good
Large devices work well now, with all of the empty space below available for the "Nearby Devices":
![large_device](/uploads/4c7bc452b59ec7e7d766174b93feb33e/large_device.png)
Also, small devices should exclude the header and provide just enough space for the list of pears (as shon by this 240x320 device):
![emu-240x320dp](/uploads/bb0e714ad48d9cf92b04d279752ab6a8/emu-240x320dp.png)
Here is a more normal sized phone (my Moto X 2nd gen with normal DPI settings):
![moto_x_2nd_gen__largish_](/uploads/116bd673da887c6cc7cc63f4c393dbca/moto_x_2nd_gen__largish_.png)0.100https://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/93WIP: Improve AppDetails2015-06-10T12:25:36Zusername-removed-124398WIP: Improve AppDetailsTODO:
- Download larger icons for app details.
@mvdan I already started working on that but setting the new parameter [`dpiMultiplier` to `1.5`](https://gitlab.com/fdroid/fdroidclient/merge_requests/93#270643655ef69da2efda917bb51e40f...TODO:
- Download larger icons for app details.
@mvdan I already started working on that but setting the new parameter [`dpiMultiplier` to `1.5`](https://gitlab.com/fdroid/fdroidclient/merge_requests/93#270643655ef69da2efda917bb51e40fccd3fe6e8_925_928) did not help. Maybe you can take a look on this?
Features:
- App icon is now 72dp x 72dp
- Description is expandable
- License, categories, Website, Source Code, Issues and Donate (#232) are moved from header to summary
- Buttons to install, update and run are moved from action bar to header
- Permissions are expandable and always shown
Screenshots (default settings):
![change1](https://gitlab.com/NicoAlt/fdroidclient/uploads/0f8f12e4dde8c2cbd3e1851568381d38/change1.png)
![change2](https://gitlab.com/NicoAlt/fdroidclient/uploads/e8bdfbedab2bfc0b860fb183610ae017/change2.png)
username-removed-22388mvdan@mvdan.ccusername-removed-22388mvdan@mvdan.cc