1042 Commits

Author SHA1 Message Date
Michael Pöhn
aab46c8ab2 implemented provisioning routine 2018-01-25 23:28:15 +01:00
Michael Pöhn
bb1292586b fix lint for ManageRepoActivity 2018-01-25 23:28:15 +01:00
Michael Pöhn
0f64fd30c6 fix lint for NewRepoConfig 2018-01-25 23:28:15 +01:00
Michael Pöhn
b13e27f759 trigger provisions on app start 2018-01-25 23:28:15 +01:00
Michael Pöhn
9786fd2550 added authentication parsing support to add-repo dialog 2018-01-25 23:28:15 +01:00
Michael Pöhn
96def8adca added parsing for repository signing key property to provisioning files 2018-01-25 23:28:15 +01:00
Michael Pöhn
4a5ad0a33d implemented parser for (repository) provisioning 2018-01-25 23:28:15 +01:00
Shobhit Agarwal
88e567354e Fixes the behaviour of cancel button 2018-01-24 00:09:35 +05:30
Hans-Christoph Steiner
dd0f791e3f Merge branch 'android-app-links' into 'master'
set up "Android App Links" handling aka "Digital Asset Links"

See merge request fdroid/fdroidclient!626
2018-01-17 13:23:57 +00:00
Torsten Grote
0922953bca
Make sure FLAG_SECURE is set on all activities when activated 2018-01-15 11:36:25 -02:00
Hans-Christoph Steiner
3938146f93 set up "Android App Links" handling aka "Digital Asset Links"
Add all the new URL path possibilities with the new website to the filter,
and the possible, official host names.  This makes it more likely that
f-droid.org links go straight to F-Droid.

* https://developers.google.com/digital-asset-links/v1/getting-started
* https://developer.android.com/training/app-links/verify-site-associations.html

fdroid-website#165
2018-01-12 13:50:32 +01:00
Hans-Christoph Steiner
f748d1e5fc review AppSecurityPermissions for new changes to sync 2018-01-12 13:50:32 +01:00
Hans-Christoph Steiner
55aa8e9aa6 use standard buffer size for Utils.getBinaryHash()
While a large buffer might make things slightly faster, the smaller buffer
size should play much nicer when F-Droid is doing things in the background.
Since calculating the hash is part of the update procedure, which can now
happen in the background, this method will be often running in the
background.

The tests showed no difference in time between the large and small buffer.
2018-01-12 13:50:32 +01:00
hotlittlewhitedog
ec2b82f827 add-padding-to-last-app-redo
modified:   app/src/main/java/org/fdroid/fdroid/views/categories/CategoryController.java
	modified:   app/src/main/res/layout/category_item.xml
	modified:   app/src/main/res/values/dimens.xml
2018-01-11 21:31:46 +01:00
Hans-Christoph Steiner
81f725f9f8 fix lint WrongConstant
Donno how that magic number slipped in, this is the actual flag.
/builds/eighthave/fdroidclient/app/src/main/java/org/fdroid/fdroid/acra/CrashReportSender.java:31: Error: Must be one or more of: Intent.FLAG_GRANT_READ_URI_PERMISSION, Intent.FLAG_GRANT_WRITE_URI_PERMISSION, Intent.FLAG_FROM_BACKGROUND, Intent.FLAG_DEBUG_LOG_RESOLUTION, Intent.FLAG_EXCLUDE_STOPPED_PACKAGES, Intent.FLAG_INCLUDE_STOPPED_PACKAGES, Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION, Intent.FLAG_GRANT_PREFIX_URI_PERMISSION, Intent.FLAG_ACTIVITY_NO_HISTORY, Intent.FLAG_ACTIVITY_SINGLE_TOP, Intent.FLAG_ACTIVITY_NEW_TASK, Intent.FLAG_ACTIVITY_MULTIPLE_TASK, Intent.FLAG_ACTIVITY_CLEAR_TOP, Intent.FLAG_ACTIVITY_FORWARD_RESULT, Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP, Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS, Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT, Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED, Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY, Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, Intent.FLAG_ACTIVITY_NEW_DOCUMENT, Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET, Intent.FLAG_ACTIVITY_NO_USER_ACTION, Intent.FLAG_ACTIVITY_REORDER_TO_FRONT, Intent.FLAG_ACTIVITY_NO_ANIMATION, Intent.FLAG_ACTIVITY_CLEAR_TASK, Intent.FLAG_ACTIVITY_TASK_ON_HOME, Intent.FLAG_ACTIVITY_RETAIN_IN_RECENTS, Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT, Intent.FLAG_RECEIVER_REGISTERED_ONLY, Intent.FLAG_RECEIVER_REPLACE_PENDING, Intent.FLAG_RECEIVER_FOREGROUND, Intent.FLAG_RECEIVER_NO_ABORT, Intent.FLAG_RECEIVER_VISIBLE_TO_INSTANT_APPS [WrongConstant]

MODE_APPEND is only for openFileOutput
/builds/eighthave/fdroidclient/app/src/main/java/org/fdroid/fdroid/localrepo/SwapService.java:105: Error: Must be one or more of: Context.MODE_PRIVATE, Context.MODE_WORLD_READABLE, Context.MODE_WORLD_WRITEABLE, Context.MODE_MULTI_PROCESS [WrongConstant]
2018-01-04 23:01:00 +01:00
Torsten Grote
512789aafa
Basic PanicKit Support with one default action
The default action closes F-Droid and removes it from the list of recent
apps.

Destructive action will be added later.
2017-12-06 16:25:01 -02:00
Hans-Christoph Steiner
1095469cd0 implement HTML with preserved newlines for app descriptions
#1000
closes #1114
2017-12-01 13:40:37 +01:00
Hans-Christoph Steiner
92f94ef195 Merge branch 'trim-names-and-summaries' into 'master'
Trim names and summaries

See merge request fdroid/fdroidclient!613
2017-12-01 11:17:12 +00:00
Peter Serwylo
50b4aac263 Correctly re-initialize loaders in updates screen.
There used to be a single loader which would get all apps which have
updates available. This was restarted when we were notified about new
apps requiring updates.

Then, in 7424220 I introduced a second loader responsible for getting
apps with known vulnerabilities. This change caused the bug in #1203,
because it changed the loaders from a single loader with ID = 0, to two
different loaders with arbitrary IDs. However, there was still a line of
code responding to when repo updates completed and we learn about new
updateable apps, and this was asking for a loader with an ID of 0 like
before. This crashed when the loader was completed and we tried to pase
the results.

This is fixed ensuring that both loaders are restarted upon learning of
new updateable apps. To prevent this disconnect in the future, they are
also extracted into the same method.
2017-11-30 08:12:51 +11:00
Torsten Grote
cdc0b8b1ea
Add a setting to prevent screenshots from being taken (off by default) 2017-11-28 16:13:43 -02:00
Torsten Grote
4149cf7e8c
Remove dependence on "org.fdroid.fdroid" to make whitelabel clients easier 2017-11-22 13:21:06 -02:00
Jonas Kalderstam
44d984786f Trim names and summaries on database insert
When metadata is read from localized files such as
Fastlane/Triple-Play the names/summaries get stored on the server with
a trailing newline. This is not a problem when displaying as HTML as
in a browser but causes unwanted whitespace in the app.

See also https://gitlab.com/fdroid/fdroidserver/merge_requests/375,
and https://gitlab.com/fdroid/fdroidclient/issues/1114
2017-11-20 00:36:12 +01:00
Christine Emrich
cd5ba9d8f2 Give search item stable ids to animate rows during search 2017-11-13 20:37:40 +01:00
Christine Emrich
6970f4a94a Change color of permission group icons in alert dialog according to theme 2017-11-11 11:11:37 +01:00
Hans-Christoph Steiner
75d3e47572 Merge branch '#936-view-screenshots-in-full-screen' into 'master'
See merge request fdroid/fdroidclient!606
2017-11-09 23:19:16 +01:00
Hans-Christoph Steiner
89a933cd84 convert to standard Build.VERSION.SDK_INT test style 2017-11-09 23:18:18 +01:00
Christine Emrich
257c3da9b4 Match color of permission icons with other icon colors 2017-11-09 19:32:26 +01:00
Christine Emrich
dd87ba9efc Fix checkstyle errors 2017-11-08 13:58:25 +01:00
Christine Emrich
61fb63d0f9 Apply current theme to ScreenShotsActivity 2017-11-08 13:58:24 +01:00
Christine Emrich
1d51385fc6 Add simple animation while swiping through screenshots 2017-11-08 13:58:24 +01:00
Christine Emrich
e38d02a59c Add full screen detail view to swipe through screenshots 2017-11-08 13:58:24 +01:00
Hans-Christoph Steiner
4b0eb32d30 force all Android 5.0 devices to use the old index v0 XML format
The workaround is fugly, so we really don't want to include it in the
modern code.  Luckily, we have old index support there :-D

closes #1014
closes #1202
closes #1208
#111
2017-10-23 21:59:23 +02:00
Chirayu Desai
a160476a14 Mirror support for the index and app downloads
* App and index downloads fall back to a list of mirrors defined
  by the repository.
* The changes have been made trying to keep the original download
  code untouched, and only using the mirror logic when the download
  fails due to a connection error / timeout.
* The mirrors are tried in a randomized manner, and with proper
  timeouts. The download is aborted after the tries exceed the
  number of mirrors, times 3 for a total of 3 different timeout
  values (10s, 30s, and 1m)
* The mirror code isn't used for any images yet, most of which is
  handled by an external library.

Closes: #35
2017-10-09 21:52:15 +05:30
Peter Serwylo
de75c1fef5 Bump db version to force early adopters to upgrade db again.
Also does this with the additional field for ignoring vuln apps.
This should be safe, because there is a check for if (columnExists())
which will only pass if people don't already have this column.

Fixes #1181.
2017-10-05 17:06:11 +11:00
Hans-Christoph Steiner
24512f6465 fix lint "DefaultLocale: Implied default locale in case conversion" 2017-10-04 23:29:36 +02:00
Hans-Christoph Steiner
58a10a9ab6 fix db upgrade from 1.0-alpha3 --> 1.0-alpha4
This should have been set to 75 in the original commit that added this:
caa1ead689eedd2023fa5b6b29bde40517d84668

#1181
2017-10-04 23:29:36 +02:00
Hans-Christoph Steiner
461fe4292b LocaleList is not properly sorted, so do our own best approx.
It seems that LocaleList does not necessarily return the "Language
Priority List" in the order that the user has prioritized things. So
we have to kind of fake it by first adding the default locale, then
adding the locales from LocaleList based on longest order first (e.g.
de-AT then de).

#987
2017-10-04 23:29:36 +02:00
Peter Serwylo
ecd70c94b8 Be more defensive when checking cached downloads.
Attempt to fix #1172, but couldn't reproduce it. So instead made sure to
document in detail why such a defensive check was put in place.
2017-09-28 12:34:58 +10:00
Hans-Christoph Steiner
695394fe71 Merge branch 'issue-1131--swipe-to-dismiss-updates' into 'master'
Swipe to dismiss updates

Closes #1131

See merge request fdroid/fdroidclient!584
2017-09-27 20:59:09 +00:00
Peter Serwylo
b69a26463c Allow swipe-to-refresh on categories and updates tab.
The swipe-to-refresh from the latest tab is now also implemented
for the categories and updates tab. It was a bit weird before how
you could swipe to refresh on the first tab, which would show
"Updating repos" at the top. It would then also show the same
message on the categories tab, but you couldn't swipe-to-refresh
that tab. Additionally, several people have requested this on the
updates tab, the tab where it probably makes the most sense.

Fix #1079.
2017-09-28 00:44:24 +10:00
Peter Serwylo
784733cd76 Show 'download cancelled' message when dismissing downloading app 2017-09-28 00:03:58 +10:00
Peter Serwylo
b5ae78cf4d Specify whether dismissing an item requires a list rebuild or not.
The controller in charge of dismissing an item will have an insight into
whether it will cause a re-query for an existing cursor or not. If a re-query
will occur in response to a `ContentResolver#notifyChange()` invokation (in this
case in response to updating `AppPrefs`), then the `UpdatesAdapter` doesn't
need to rebuild itself yet. If it is a status update, then it should update
the adapter right away.

Seeing as the controller was already returning one thing (a message to be
displayed in a `Toast` and now it also needs to return an opinion on whether
to rebuild the adapter or not, this has been extracted into a value object
which has a message and a rebuild adapter flag.
2017-09-27 23:48:43 +10:00
Peter Serwylo
25897df85b Update the badge on the bottom nav when dismissing 'ready to install' apps 2017-09-27 23:31:20 +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
32c17e5f72 Initial framework to allow for dismissing apps in updates tab. 2017-09-27 23:31:20 +10:00
Peter Serwylo
13e2eddb6a Static import of inner class to improve readability 2017-09-27 23:31:17 +10:00
Peter Serwylo
2bd70fc6b5 Fixed query for known vulns.
Used to work, then the default join from `fdroid_app` to `fdroid_apk`
was removed for performance reasons. This adds the join back, but requires
queries to explicitly opt in to the join if they require it. The specific
query for known vulns is not a performance problem, because sqlite is able
to narrow the result set quite substantially before requiring a join onto the
fdroid_apk table anyway (e.g. by using the "installed app" table).
2017-09-27 15:37:09 +10:00
Peter Serwylo
382ee652b8 STILL-UNTESTED: Fix for upgrading app to newer, non vuln version.
Prior to this it was just trying to uninstall the app instead.
2017-09-27 15:03:03 +10:00
Peter Serwylo
63cf0742b7 Fixes after rebasing. 2017-09-27 15:03:03 +10:00
Peter Serwylo
0551b0d1fc Allow user to ignore messages about vulnerable apps 2017-09-27 15:03:03 +10:00