Client merge requestshttps://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests2016-11-10T10:18:05Zhttps://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/414Improve performance when changing "Unstable Updates" preference2016-11-10T10:18:05Zusername-removed-25042Improve performance when changing "Unstable Updates" preferenceThis is only a partial solution to #520.
It does as I suggested in the issue comments, by doing less work when the preference is checked. The proper solution is an `IntentService` which queues requests to update these details, but that...This is only a partial solution to #520.
It does as I suggested in the issue comments, by doing less work when the preference is checked. The proper solution is an `IntentService` which queues requests to update these details, but that is a (slightly) larger change for the future.
I also noticed it wasn't correctly notifying the UI of the change, so this now notifies the list of apps which can be updated. That was hard to test though, so not sure if it updates the UI correctly or not. It shouldn't do it _incorrectly_, but it may not work. The reason it should work is because the `AppListFragment` (baseclass of `CanUpdateAppsFragment`) uses a cursor loader with the `AppProvider.getCanUpdateUri()` URI. This `CursorLoader` should automatically attach an observer for that URI and requery if required.0.103 - UX Overhaulhttps://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/426Tweak some styles in AppDetails22017-02-24T15:27:32Zusername-removed-25042Tweak some styles in AppDetails2Identified a bit of low hanging fruit for brining the new `AppDetails2` screen more in line with that of #749. Will need to make some better buttons for Bitcoin/Flattr/Litecoin - but that should be straightforward to replace as they are ...Identified a bit of low hanging fruit for brining the new `AppDetails2` screen more in line with that of #749. Will need to make some better buttons for Bitcoin/Flattr/Litecoin - but that should be straightforward to replace as they are just drawables in the `res/` directory.
**Current view:**
![current](/uploads/d53609612e3f139e520c3d509f437851/current.png)
**New view in this MR:**
![new](/uploads/372ccd5fc415ad64d711f25716791ac9/new.png)0.103 - UX Overhaulhttps://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/432Some groundwork for the main screens new UI2017-02-28T02:44:44Zusername-removed-25042Some groundwork for the main screens new UIBreaking up in the interest of making it easier to request CRs.
This includes a few small commits laying the groundwork for the new UI. The commits are separated out from the other stuff on the basis that they can be merged in without (...Breaking up in the interest of making it easier to request CRs.
This includes a few small commits laying the groundwork for the new UI. The commits are separated out from the other stuff on the basis that they can be merged in without (drastically) changing any behaviour of the current F-Droid client. The only exception is the addition of the preference "Manage Repositories" which will be available both in the main menu and also the settings activity (In the forthcoming UI changes, the main menu will not exist).0.103 - UX Overhaulhttps://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/433Initial UI for new main screens2017-03-13T15:33:52Zusername-removed-25042Initial UI for new main screensThis includes all five items on the main screen:
* Latest
* Categories
* Swap/Nearby
* My Apps/Updates
* Settings
It is a large change but it should build and run after essentially every commit. That way, if you get bored of...This includes all five items on the main screen:
* Latest
* Categories
* Swap/Nearby
* My Apps/Updates
* Settings
It is a large change but it should build and run after essentially every commit. That way, if you get bored of CR'ing half way through you can stop and we can consider merging up to there after addressing any feedback.0.103 - UX Overhaulusername-removed-25042username-removed-25042https://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/434Improved UI for new main screens2017-03-13T23:55:29Zusername-removed-25042Improved UI for new main screensThis adds some bells and whistles to the UI in !433, and also makes the app more compatible with the current stable build:
* General improvements to UI (e.g. app lists).
* Improved accessibility.
* Bug fixes.
* Search button.
*...This adds some bells and whistles to the UI in !433, and also makes the app more compatible with the current stable build:
* General improvements to UI (e.g. app lists).
* Improved accessibility.
* Bug fixes.
* Search button.
* Handle all the intents that the old `FDroid` class used to.
As with !433, it is a large change but it should build and run after essentially every commit. That way, if you get bored of CR'ing half way through you can stop and we can consider merging up to there after addressing any feedback.
(Fixes #734, Fixes #867)0.103 - UX Overhaulhttps://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/443Notification improvements from mvp762017-03-14T10:17:50Zusername-removed-25042Notification improvements from mvp76See !437, specifically [this comment](https://gitlab.com/fdroid/fdroidclient/merge_requests/437#note_24387158).
This is just a procedural thing whereby I wanted CI to pass with `gradle lint` before merging, but timezone differences woul...See !437, specifically [this comment](https://gitlab.com/fdroid/fdroidclient/merge_requests/437#note_24387158).
This is just a procedural thing whereby I wanted CI to pass with `gradle lint` before merging, but timezone differences would have caused a whole day round trip before we could get it merged. This would prevent me from updating other MRs and allowing them to get CR'ed.0.103 - UX Overhaulusername-removed-25042username-removed-25042https://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/449Gitlab ci update2017-03-20T07:05:31Zusername-removed-24982Gitlab ci updateFixed emulator builds, now syncs with fdroid/ci-images, and requires the _connected24_ check to pass again, since we're touching some of the networking code (e.g. !436)Fixed emulator builds, now syncs with fdroid/ci-images, and requires the _connected24_ check to pass again, since we're touching some of the networking code (e.g. !436)0.103 - UX Overhaulhttps://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/450Placeholder images for screenshots 8972017-03-20T18:29:40Zusername-removed-833299Placeholder images for screenshots 897Fix for issue #897.Fix for issue #897.0.103 - UX Overhaulusername-removed-25042username-removed-25042https://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/445Scroll app details appropriately when expanding sections.2017-03-21T14:11:43Zusername-removed-25042Scroll app details appropriately when expanding sections.Fixes #875.
Note that the versions list works really nicely, by animating the addition of items and smooth scrolling down. However the other expandable items don't. This is due to a technical limitation whereby the adapter only includes...Fixes #875.
Note that the versions list works really nicely, by animating the addition of items and smooth scrolling down. However the other expandable items don't. This is due to a technical limitation whereby the adapter only includes one item for Links + Permissions respectively. This item grows/shrinks in size as it is expanded/collapsed, but no items are added/removed from the adapter. This causes problems with the smooth scrolling, but I don't think it is a bit problem.0.103 - UX Overhaulusername-removed-833299username-removed-833299https://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/448Categories artwork2017-03-21T21:53:59Zusername-removed-25042Categories artworkImprovements to category screen. Now shows images or procedural artwork behind categories. Also uses the previously internationalized category names. Also tweaked the "View all" button to have the proper background when touching.
Fixe...Improvements to category screen. Now shows images or procedural artwork behind categories. Also uses the previously internationalized category names. Also tweaked the "View all" button to have the proper background when touching.
Fixes #851.0.103 - UX Overhaulhttps://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/444Updates tab + misc UI improvements.2017-03-22T00:20:51Zusername-removed-25042Updates tab + misc UI improvements.Does away with "My Apps", replacing instead with "Updates" (Fixes #840). The things it **doesn't** address (fully) from #840 is offline "mark for install", security warnings, and donation prompts.
Other UI tweaks are:
* Back button ...Does away with "My Apps", replacing instead with "Updates" (Fixes #840). The things it **doesn't** address (fully) from #840 is offline "mark for install", security warnings, and donation prompts.
Other UI tweaks are:
* Back button now works as expected (Fixes #876) for:
* Viewing list of apps in a category
* Searching for apps
* Viewing installed apps
* Manage repositories
* App Details
* Bottom navigation bar uses new icons (Fixes #838).
* Bottom navigation now includes labels for each item (Fixes #892).
* Notification about available updates takes user to the main "Updates" tab.
* Use rounded buttons instead of square ones (Identified in #840).
There is one concern I have which should be addressed in a future MR (or this if you think so). That is the new service which scans the disk cache for downloaded apks, and then adds downloaded items to the `AppUpdateStatusManager` with a status of `ReadyToInstall`. This works great for the new "Updates" tab, but it now also continually shows the update notifications to the end user even if they have previously dismissed them. Is this okay, given we are only showing notifications for apps which are downloaded and ready to install, not those for which an update is available (which I'd think would get annoying if we kept notifying about that)?
For those wanting to see/test this (e.g. @crwinfrey), check out [F-Droid.new-ui.unofficial.debug.apk](/uploads/089b3197e311ecc3b6000ccc695b7e00/F-Droid.new-ui.unofficial.debug.apk).0.103 - UX Overhaulusername-removed-833299username-removed-833299https://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/451App details 749 more work2017-03-23T10:28:55Zusername-removed-833299App details 749 more workMore fixes for pushing #749 to completion. I think this handles the list of currently outstanding issues of 749.More fixes for pushing #749 to completion. I think this handles the list of currently outstanding issues of 749.0.103 - UX Overhaulusername-removed-25042username-removed-25042https://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/453Minor ui tweaks2017-03-26T07:32:42Zusername-removed-25042Minor ui tweaksFixes a handful of issues throughout the new UI. Each commit should address one.Fixes a handful of issues throughout the new UI. Each commit should address one.0.103 - UX Overhaulhttps://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/439prep for new index-v12017-03-29T10:15:23Zusername-removed-24982prep for new index-v1This is prep work for the new _index-v1_ index format !422. It includes first to minor bug fixes, then it is some commits to clean up the state of the index metadata. These are commits that were part of !422 but are split out now to he...This is prep work for the new _index-v1_ index format !422. It includes first to minor bug fixes, then it is some commits to clean up the state of the index metadata. These are commits that were part of !422 but are split out now to help with the merging process.0.103 - UX Overhaulhttps://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/422Add new index format to support localization and graphics2017-03-31T17:44:13Zusername-removed-24982Add new index format to support localization and graphicsWe have been talking about a new index format for a long time. Adding support for localization and graphics is the straw that broke the camel's back for me, so I finally dug in. I also took this opportunity to change the flow on both c...We have been talking about a new index format for a long time. Adding support for localization and graphics is the straw that broke the camel's back for me, so I finally dug in. I also took this opportunity to change the flow on both client and server side to take advantage of some really great libraries out there, like Jackson on the client side, and python-yaml and python-json on the server side.
There is a test repo here with the new index: http://testy.at.or.at/fdroid/repo/0.103 - UX Overhaulusername-removed-25042username-removed-25042https://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/460pull weblate for v0.103-alpha12017-04-01T19:10:24Zusername-removed-24982pull weblate for v0.103-alpha1I'm trying to merge the weblate pulls into our regular workflow, so submitting via merge requests. Since there are so many commits when pulling from weblate, this should always be squashed. Having all the commits listed in a merge requ...I'm trying to merge the weblate pulls into our regular workflow, so submitting via merge requests. Since there are so many commits when pulling from weblate, this should always be squashed. Having all the commits listed in a merge request will make them more visible without overwhelming the git history for the code.0.103 - UX Overhaulhttps://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/462Repos added later should take higher priority.2017-04-06T10:26:39Zusername-removed-25042Repos added later should take higher priority.**Warning: While it would be good to cherry-pick this into 0.102.3 as a hotfix, it will bump the DB version to 68. This will mean if the user eventually updates to 0.103 then it will skip the 67 migration. If we do it the otherway, where...**Warning: While it would be good to cherry-pick this into 0.102.3 as a hotfix, it will bump the DB version to 68. This will mean if the user eventually updates to 0.103 then it will skip the 67 migration. If we do it the otherway, where we change the DB version on the stable branch to 67 and change the new index stuff in 0.103 to 68, then the user upgrading from 0.103-alpha1 to 0.103-alpha2 will have the migration run again (i.e. it ran as 67 for 0.103-alpha1 and then 68 for 0.103-alpha2). For this reason I propose just putting this in master.**
This fix inverts the repo priority calculation, so that repos added later on in the list of repositories take a higher priority. My testing shows that it fixes the Orbot problem identified in #909.
Fixes #909 (hopefully)0.103 - UX Overhaulhttps://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/464Implement a handful of UX tweaks in response to alpha feedback2017-04-07T00:17:01Zusername-removed-25042Implement a handful of UX tweaks in response to alpha feedbackThere are a bunch of issues identified by @grote and myself (mainly Torsten) in an IRC session. Many of these were simple UI quirks, but others were far more important (e.g. the updates screen not working as intended, the app details scr...There are a bunch of issues identified by @grote and myself (mainly Torsten) in an IRC session. Many of these were simple UI quirks, but others were far more important (e.g. the updates screen not working as intended, the app details screen not updating as intended).
Each of these small fixes is not major on its own, but they all go towards making the app much more usable overall.
Here is a list of the feedback, and I've **crossed out the ones addressed in this MR**:
@grote [via IRC](https://botbot.me/freenode/fdroid-dev/2017-04-04/?msg=83465394&page=1):
* ~~Empty state text (see fdroid/fdroidclient#879).~~
* Back should take you to previously selected tab (see https://developer.android.com/design/patterns/navigation.html).
* ~~CLickable cards should show ripple (e.g. using `android:foreground` with `selectableItemBackground`).~~
* ~~Notification missing eyes.~~
* ~~Category view has padding on left/right of app lists.~~
* Screen rotation causes bugs in many places.
* Newly downloaded but not yet installed apps (not updates) don't come back after re-opening F-Droid.
* ~~Sorting apps in category list is strange with multiple repos. Sorted by repo priority and then alphabetically.~~
* Clarity around why "New" is not always at the top of the "Latest" tab.
* Clarity around the lack of swipe left/right in main view.
* ~~PM installer pops up automatically when viewing the "Updates" tab.~~
* ~~After installing from here, the notification remains, as does the info in the "Updates" tab.~~
* ~~Installing from AppDetails shows "Install" still, after the PM installer is complete.~~
@pserwylo [via IRC](https://botbot.me/freenode/fdroid-dev/2017-04-04/?msg=83465394&page=1):
* ~~Notification icon needs bigger gap between head and body (compare it to other notification icons).~~
* ~~Updates badge should really be "actionable items" such as those which are pending further user action after downloading, not apps which are eligible for update.~~
Fixes #879.0.103 - UX Overhaulhttps://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/456Remove old ui dead code2017-04-07T07:37:48Zusername-removed-25042Remove old ui dead codeThis commit removes all of the old code relating to:
* The main screen with three tabs (Available, Installed, Updates).
* The old `AppDetails`.
* Any associated code (e.g. Adapters, layouts, some strings - but not all, etc).
I'v...This commit removes all of the old code relating to:
* The main screen with three tabs (Available, Installed, Updates).
* The old `AppDetails`.
* Any associated code (e.g. Adapters, layouts, some strings - but not all, etc).
I've broken it into a series of commits done in chronological order, which indicates the way I thought about verifying that the code I removed was indeed dead. Most of the stuff is straight removal of files or lines of code. Some of it required minor refactoring to deal with the removal.
While removing the code, I made sure to note down anything I was removing which had not been ported to the new UI. These all now live in the following issues: #904 #905, #906, #907, #908. Some of them are show stoppers for %"0.103 - UX Overhaul" (e.g. #906) while others could wait if need be.
Looking forward to this because it will bring my [ratio of additions : removals more in line](https://github.com/f-droid/fdroidclient/graphs/contributors). I don't enjoy being the developer who has added the most code to this project, I'd rather be known for removing code :)0.103 - UX Overhaulhttps://staging.gitlab.com/fdroid/fdroidclient/-/merge_requests/466Force the build tools to generate .pngs for each vector.2017-04-07T07:41:50Zusername-removed-25042Force the build tools to generate .pngs for each vector.This results in a slightly larger apk (e.g. 500KiB), but it reduces the
scope for bugs greatly. We still get all the maintenance benefits of only having to
maintain a single density-independent vector (rather than several
density depende...This results in a slightly larger apk (e.g. 500KiB), but it reduces the
scope for bugs greatly. We still get all the maintenance benefits of only having to
maintain a single density-independent vector (rather than several
density dependent PNGs and all the work that involves).
The class of bugs that it solves is that there are several places where
vectors cannot be used, and you wont notice when developing on a device
newer than 5.0. For example, notification icons, `TextView`
and its `android:drawableStart` attribute.
Fixes #913, which is coming up a few times in ACRA crash reports.0.103 - UX Overhaul