83 Commits

Author SHA1 Message Date
Peter Serwylo
784733cd76 Show 'download cancelled' message when dismissing downloading app 2017-09-28 00:03:58 +10:00
Peter Serwylo
1d4f4ce01d Correctly handle swiping to dismiss items in updates tab.
Items which can be updated (but have not yet been downloaded or queued for download)
will act as if the user selected "Ignore this update" from the app details view.

Items which represent app statuses (e.g. downloading, downloaded ready to install,
installed ready to run) will have the status removed. If required, we will also
forget that they are ready to install, so they wont be there next time.
2017-09-27 23:31:20 +10:00
Peter Serwylo
0551b0d1fc Allow user to ignore messages about vulnerable apps 2017-09-27 15:03:03 +10:00
Peter Serwylo
4e544e61fb UNTESTED: Prompt the user to update an app with a known vulnerability.
Untested because there are no apps in current repos which exhibit this
behaviour which have newer versions. Right now I'm testing with com.waze
from testy.at.or.at which only has the one version.

I'm also unsure of how important this is seeing as most the time it will
prompt people to update anyway.
2017-09-27 15:03:03 +10:00
Peter Serwylo
7424220c02 Add apps with known vulnerabilities to updates tab.
Currently only supports "Uninstall", but will soon also support "Upgrade
to a newer version".
2017-09-27 15:03:03 +10:00
Hans-Christoph Steiner
9cc66e035a show Toast if InstalledAppProviderService encounters EIO errors
A notification would be better, but a Toast is better than nothing.
2017-09-12 21:44:48 +02:00
Peter Serwylo
dd93df9ef2 Show mismatching sig apks when incompatible versions enabled.
This is in the spirit of the setting, where users can see which apks are
available even though they are not installable.

Adds a message explaining why it is incompatible (i.e. because the
signature doesn't match the installed version).
2017-09-05 17:02:01 +10:00
Peter Serwylo
ef717437a9 Explain multi-sig problems to user in app details. 2017-09-05 16:33:22 +10:00
Peter Serwylo
0f8bec59e1 Show message when no search results are found.
Fixes #1117.
2017-08-08 11:35:23 +10:00
Hans-Christoph Steiner
0180e754fe remove needlessly scary sentence from otherwise friendly Updates screen
This is not really a useful way to tell the user that the index might be
out of date.  It just adds confusion and makes people think that F-Droid
isn't quite smart enough to know what's going on.
2017-07-07 18:05:53 +02:00
Chirayu Desai
0d8b0c7fd4 Introduce FileInstaller, a way to handle media files from F-Droid
* This installer is invoked when for non-apk/media files, and
  copies them to an appropriate folder on the sdcard.
* We also introduce a FileInstallerActivity to ask for storage
  permissions at runtime, as needed by Android 6.0 and above,
  and handle the install/uninstall process.
* A toast is shown with the install path after installation.

TODO:
* Manage Installed Apps screen doesn't show media files.
2017-07-07 12:10:48 +05:30
Peter Serwylo
df20d2df8d Add progress reporting for index-v1.
Reuses the "commiting" message to indicate how many apps have been
processed so far.

Refactors existing progress handling between `RepoUpdater` and
`UpdateService` to use `LocalBroadcastManager` in preference to
`ProgressListener`. Still needs to use `ProgressListener` to talk
between `RepoUpdater` and the `Downloader` +
`ProgressBufferedInputStream`.

The only change that is related to something more important than
notifications is the fact that now `IndexV1Updater` makes use of the
`indexUrl`. To do so, because it is final, the base class constructor
delegates to `getIndexUrl()` which is overriden by the v1 updater.
This is required because we want to differentiate between broadcasts
coming from different repo update processes.

Fixes #1054.
2017-07-03 09:31:48 +10:00
Felix Ableitner
02fad57f0b Remove update time 2017-06-22 05:54:11 +00:00
Hans-Christoph Steiner
53a17e6146 add failsafe pref to disable using new index
If the client fails due to some bug in handling index-v1.jar, then it will
be totally stuck, even if index.jar would have worked.  This creates a new,
temporary "expert" preference to force the client only use the old XML
index file.  Worst comes to worst, we can tell people to enable this to
upgrade.

Once everything proves stable, we can remove this.
2017-06-16 00:20:36 +02:00
Hans-Christoph Steiner
ee1871f07e clean up English source strings
This started with the work of @kingu, it cleans up some of the language,
including:

* upgrade --> update
* application --> app
* internet --> Internet

closes !508
2017-06-16 00:20:36 +02:00
Hans-Christoph Steiner
feeb8c17ad remove unused string: installDowngrade
If this is needed in the future, this commit can be reverted in git.
2017-05-31 12:31:11 +02:00
Hans-Christoph Steiner
76fca35c2e remove unused string: menu_send_apk_bt
If this is needed in the future, this commit can be reverted in git.
2017-05-31 12:31:10 +02:00
Hans-Christoph Steiner
f6c669783d remove unused string: empty_search_available_app_list
If this is needed in the future, this commit can be reverted in git.
2017-05-31 12:31:10 +02:00
Hans-Christoph Steiner
087e86b312 Merge branch 'fix-notifications' into 'master'
Fix notification problems

Closes #1013

See merge request !523
2017-05-31 09:09:08 +00:00
Felix Ableitner
07cd5e82fc Remove unused resources 2017-05-31 12:22:47 +09:00
Peter Serwylo
ee7055e118 Listen to AppUpdateStatusManager events instead of DownloadManager events.
Also, make sure to correctly update the app details view when te user
leaves then returns to the view. Prior to this, the user would need to
wait for a download event to be received. However even that was broken,
because the download listener was not being added correctly once the
user returned to the app details screen.
2017-05-31 11:47:10 +10:00
Hans-Christoph Steiner
702cf2dec8 Weblate 2017-05-30 16:02:59 +00:00
Hans-Christoph Steiner
35df6afa53 move "by AuthorName" to a proper format for translations
The string was forcing English grammar on other languages.
2017-05-25 19:16:11 +02:00
Felix Ableitner
371d8ede77 Improve display of last updated time 2017-05-22 18:59:09 +00:00
Hans-Christoph Steiner
e07e4fc223 convert strings to plurals, and make lint enforces this
Lots of languages really need the <plurals> tags to make sense, so
this also makes lint exit with an error when it finds strings that
should be <plurals>

closes #883
2017-05-16 10:39:16 +02:00
Licaon_Kter
3558117e3c Delete duplicate text 2017-05-04 12:20:35 +00:00
Hans-Christoph Steiner
2e2a6bd419 show Toast when file type cannot be installed
This is just a placeholder until we implement proper "installing" for
non-APK files.

!504
#982
2017-05-02 22:00:48 +02:00
Hans-Christoph Steiner
a12d8e0c6d remove comment from <plurals>, its finding its way into translations 2017-05-02 21:53:11 +02:00
Hans-Christoph Steiner
de1cc566a1 show license in the links section
This makes the license a link to the spdx.org page for the app's
license.  I think this is an improvement over the way the license was
displayed before 0.103 since it provides a direct link to the actual
text of the license.

The license icon is a modified version of the public domain icon:
https://commons.wikimedia.org/wiki/File:Cc-sa_white.svg

closes #960
2017-05-01 23:31:14 +02:00
Peter Serwylo
e2c82d2943 Accessibility tweaks in app details.
* Correctly read out "Cancel download"
 * Allow users to hear download progress correctly.
2017-04-26 08:28:24 +10:00
Hans-Christoph Steiner
4bb7050725 add Video to Links section of App Details 2017-04-18 21:26:58 +02:00
Hans-Christoph Steiner
15d11f6d44 reformat all strings.xml using Android Studio 2.2.3 defaults
This should make dealing with merge conflicts a lot easier, since there
should be less conflicts on things like tabs vs spaces for indenting.
2017-04-18 19:29:50 +02:00
Hans-Christoph Steiner
cfabd2a2c3 properly handle <plurals>
<plurals> handles the grammar needed for numbers/quantities in various
languages.  Like in a number of slavic languages, numbers ending in 0,
1 or others have separate grammar.  In English, there is just 1 and
then all the rest (0 days, 2 days, 3 days, etc). <plurals> does not
handle multiple strings for different quantities, like having a
different string for each number case.  For that, we have to do it in
Java and have multiple <strings>

!472
2017-04-18 19:29:50 +02:00
Peter Serwylo
05d6929eb6 Remove unused preference "Update History".
Now that we've moved the first screen to "Latest", we always want to do
our best to show something there. This preference is pretty redundant in
light of this.
2017-04-07 22:08:29 +10:00
Peter Serwylo
ab5ea39f7c Show empty state feedback for latest + categories
The text is more comprehensive on the main screen than on categories,
because this is the view that all users will see when they first open
F-Droid.

Fixes #879.
2017-04-07 22:02:14 +10:00
Peter Serwylo
74f4883ffc Remove strings which are clearly associated with the old 3 tab layout.
Left some more unused strings which are a bit more general purpose and
perhaps should wait until after a stable release to remove. The
rationale for this is that we may want to revert to part of the old
terminology in certain places, and don't want to have to ask everyone to
translate everything again.
2017-04-07 08:34:41 +10:00
Peter Serwylo
1a799a7dcc Suppress lint warnings for unused category colours/names.
These are loaded dynamically at runtime based on a sanitized version
of the category names. Thus, the static lint tool cannot pick up that
they are indeed used.
2017-04-07 08:34:41 +10:00
Peter Serwylo
b9c429d22d Add "App X successfully installed" to updates tab.
This notification is kind of weird, because the only ways it can be
dismissed is by:
 * Swiping a notification away from the notification drawer.
 * Closing and reopening F-Droid.

However I think the UX is still pretty nice:
 * Tells the user that it worked.
 * Allows them to navigate to it if desired.
2017-03-26 10:50:26 +11:00
Peter Serwylo
b177dc2cda Update "Nearby" splash screen to new UI.
Be sure to not hardcode "F-Droid" to ensure it is easier to rebadge
F-Droid if creating a whitelabel version.

Fixes #894.
2017-03-23 22:19:22 +11:00
Peter Serwylo
53bed0f2e1 Change language to clarify auto download preference
The previous language hinted at the fact we auto download and install
updates like Google Play. This is not the case (unless you have
priv-ext). To clarify, now we "Automatically _fetch_ updates", ready to
install when the user initiates the install.

Fixes #839.
2017-03-23 22:19:22 +11:00
mvp76
622a1245dc Move "what's new" from its own section to the header section
Also, add some styling and placeholder text (randomly set or not set)
2017-03-23 09:32:58 +01:00
mvp76
2d27ba4086 Display anti-features
Issue #878.
2017-03-23 09:32:58 +01:00
mvp76
0689a39735 Add last updated under the title and author
Also, added styles for the title and the last updated text.
2017-03-23 09:32:58 +01:00
Peter Serwylo
d527b26814 Specify the last time an app was updated when showing update button 2017-03-22 08:55:27 +11:00
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
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
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
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