4121 Commits

Author SHA1 Message Date
mvp76
28d683e16a Add intent for "installed" state 2017-02-28 20:56:35 +01:00
mvp76
0461860479 Removed "installed" notification when entering Details screen. 2017-02-28 20:56:35 +01:00
mvp76
7efa62891d Use strings, async image loading, "unknown" status added. 2017-02-28 20:56:35 +01:00
mvp76
55c7a21c90 Move app status handling to new AppUpdateStatusManager 2017-02-28 20:56:34 +01:00
mvp76
10cbf1ef7a Create notification helper class 2017-02-28 20:56:34 +01:00
Hans-Christoph Steiner
9e1458f41e Merge branch 'nougat' into 'master'
Support for PrivilegedExtension on Nougat

Closes privileged-extension#17

See merge request !442
2017-02-28 18:38:46 +00:00
Chirayu Desai
1a586511cf ApkFileProvider: Explicitly grant read permission to PrivExt 2017-02-28 17:47:36 +05:30
Chirayu Desai
c004f1ce10 PrivilegedInstaller: Use ContentUri on Nougat (24) and above 2017-02-28 17:47:29 +05:30
Peter Serwylo
3ca3a6d699 Merge branch 'preperation-for-new-ui' into 'master'
Some groundwork for the main screens new UI

See merge request !432
2017-02-28 02:40:14 +00:00
Peter Serwylo
6ac62d791a Merge branch 'prep-for-new-index' into 'master'
prep for new index-v1

Closes #819

See merge request !439
2017-02-28 02:35:15 +00:00
Peter Serwylo
a93904d907 Added preference to manage repositories
As this is no longer a top level menu item, it is now the first item
in the settings, under "Updates".
2017-02-28 08:29:38 +11:00
Peter Serwylo
bdde162f56 Notify when new categories are available, old ones are no longer available.
Whether a category is "available" or not is not a function of whether it
is in the category table or not. Rather, it is a function of whether there
are any active apps/apks which are in that category. Thus, don't notify
after inserting a category (the notification was wrong anyway as it was
trying to notify the AppProvider Uri instead of the ContentProvider one).
Instead, do it after a repo update is complete.
2017-02-28 08:29:38 +11:00
Peter Serwylo
f4c03c6baa Make category searching case insensitive. Only works for ASCII :( 2017-02-28 08:29:38 +11:00
Peter Serwylo
25d2659b93 Be more explicit about searching categories with free form text. 2017-02-28 08:29:38 +11:00
Peter Serwylo
a8d8e65698 Added query for 'top X apps in category' and associated test 2017-02-28 08:29:38 +11:00
Hans-Christoph Steiner
601c85103e fields as instance vars: icon, mirrors for Repo; antiFeatures for Apk
This adds support for the index fields: icon, mirrors, and antiFeatures.
icon and mirrors are for Repo, they've been around a while on the server
side, but just never used on the client side.

For Apk, this adds a new per-APK antiFeatures field so that each APK can
be individually marked.  For example, when tracking is added or removed,
vulnerabilities are discovered and fixed, etc.

These fields will be ignored when using the v0 index.xml format, they
will be used by the upcoming index-v1 format: !422
db-version/66
2017-02-27 22:20:44 +01:00
Hans-Christoph Steiner
bc0db92c50 ensure that App description is never null
In the v0 index format, empty descriptions were filled in with boilerplate
text.  The v1 index format instead leaves empty descriptions empty, and
lets the various consumers (fdroidclient, web interfaces, etc) decide what
to show.  The database and code still assume that the description will not
be null, so instead this ensures there is something in the database, but it
will be an empty string instead of a null.  In the future, it would
probably make sense to standardize empty values on null or something.
2017-02-27 14:15:31 +01:00
Hans-Christoph Steiner
611fd6e5e3 rename App instance vars to match fdroidserver field names
This makes the name of the instance variables in the App class match the
names of the metadata fields in the new fdroidserver .yml YAML format. This
means that the Jackson parser can automatically instantiate instances for
us, which will be more efficient and maintainable.

These names aren't great, but it would a ton of work to rename the field
names in all of the metadata files, the docs, fdroidserver code, etc.
2017-02-27 14:15:15 +01:00
Hans-Christoph Steiner
199ab44ec3 deprecate App.requirements[], was only used for RequiresRoot
RequiresRoot is obsolete as a metadata field since there is the SUPER_USER
permission.  This `requirements` array was set up to handle other things,
but that was never implemented.
2017-02-27 14:15:15 +01:00
Hans-Christoph Steiner
6fb1207ae6 always refresh APKs in DB at start with timestamps < 2010-01-01
APKs installed in /system} will often have zeroed out timestamps, like
2008-01-01 (ziptime) or 2009-01-01.  So instead anything older than 2010
every time since we have no way to know whether an APK wasn't changed as
part of an OTA update.  An OTA update could change the APK without changing
the versionCode or lastUpdateTime.

closes #819
2017-02-27 14:15:15 +01:00
Hans-Christoph Steiner
34dbf49f6c gitlab-ci: put all the static tests into test job
gitlab-ci used to run all of our jobs in parallel, now it mostly seems
to run them sequentially.  So splitting up the various parts of the CI
suite into separate jobs mostly slows things down.  This combines the
static tests into one job (lint, pmd, checkstyle, tools) with the JVM
tests aka Robolectric.  That makes three jobs from the previous six.
2017-02-27 14:15:15 +01:00
Hans-Christoph Steiner
6f43d4eb18 make checkstyle happy with instance variable names
[ant:checkstyle] [ERROR]
/export/share/code/fdroid/client/app/src/main/java/com/geecko/QuickLyric/view/AppCompatListPreference.java:35:29:
Name 'mDialog' must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'. [MemberName]

Introduced in 79ecffc91c8856e7ceb6a65441d19a6272195426
2017-02-24 21:23:13 +01:00
Hans-Christoph Steiner
bfc1060bfb Merge branch 'new-ui--app-details-2' into 'master'
Tweak some styles in AppDetails2

See merge request !426
2017-02-24 15:27:29 +00:00
Hans-Christoph Steiner
bb4409457b Merge branch 'old-perm' into 'master'
Remove unused permission org.fdroid.fdroid.privileged.USE_SERVICE

Closes #861

See merge request !438
2017-02-24 15:14:01 +00:00
Hans-Christoph Steiner
064af8c94c remove empty Kurdish strings.xml that breaks 'tools' test 2017-02-24 16:02:16 +01:00
Hans-Christoph Steiner
e27ce21b65 Merge branch 'fix-817--info-why-priv-extension-disabled' into master
Remove Privileged Installer preference when appropriate

See merge request !430
2017-02-24 15:56:32 +01:00
Hans-Christoph Steiner
0ee14800c3 Merge branch 'fix-750--white-background-on-popup' into master
Fix white background on preference dialogs.

See merge request !431
2017-02-24 15:28:33 +01:00
Chirayu Desai
5e59138082 Remove unused permission org.fdroid.fdroid.privileged.USE_SERVICE
* This was removed by [1] and a whitelist is being used instead
  of this signature protected permission
* Closes #861

[1]: 80452dec24
2017-02-23 22:46:20 +05:30
Peter Serwylo
75eb72c50b Show material-design-ripple in background when touching list item.
Also ensure it shows this animation correctly when expanding "Versions".
This is done by changing from `notifyDataSetChanged()` to the more
specific `notifyItemRange(Inserted|Removed)`, which ensures the
"Versions" item doesn't get rebuilt midway through an animation.
2017-02-22 10:31:40 +11:00
Peter Serwylo
2101ec4bbc Remove Privileged Installer preference when appropriate.
Fixes #817.

As discussed in #817, this preference is not useful on Android >= 5.0.
As such, the preference should just be removed. However, it should stay
if the privileged installer is already installed (e.g. via update.zip or
included as part of the ROM).
2017-02-22 08:41:41 +11:00
F-Droid Translatebot
109c795dd1 Pull translation updates from Weblate
Translators:

Ahmad Zafrullah  Indonesian
Allan Nordhøy    Norwegian Bokmål
Balázs Úr        Hungarian
Hasan İlingi     Kurdish
Jonatan Nyberg   Swedish
Juraj Harasta    Czech
Michalis         Greek
Michalis         Spanish
Nick Bishop      Greek
Verdulo          Esperanto
yiannakis        Greek
2017-02-20 16:00:03 +11:00
Peter Serwylo
81aacac592 Make 3rd party AppCompatListPreference adhere to our checkstyle rules.
Added braces around one line if statements.
2017-02-20 08:47:59 +11:00
Peter Serwylo
79ecffc91c Use AppCompatListPreference from QuickLyric to fix dialog themes.
Fixes Issue #750.

This new class makes sure to use the correct `AlertDialog.Builder` from
the support lib. This in turn ensures the correct styles get applied to
the result alert dialog.
2017-02-20 08:42:25 +11:00
Peter Serwylo
2c1a059da9 Use AppCompatActivity instead of deprecated ActionBarActivity
Doesn't change anything, just removes a deprecation warning.
AppCompatActivity currently extends ActionBarActivity and doesn't
provide any further imnplementation.
2017-02-20 08:41:52 +11:00
F-Droid Translatebot
2db46e0794 Pull translation updates from Weblate
Translators:

Adrià García-Alzórriz      Catalan
Ajeje Brazorf              Sardinian
Alaa Issa                  Arabic
Alberto Moshpirit          Spanish
Alexander Georgievskiy     Russian
András Lengyel-Nagy        Hungarian
André Marcelo Alvarenga    Portuguese (Brazil)
Anteri                     Finnish
Athmane MOKRAOUI           Arabic
Claus Rüdinger             German
Cyxae Dexyc                French
dark159123                 Danish
Dmitriy Bogdanov           Russian
Enol P                     Asturian
ezjerry liao               Chinese (Traditional)
Gregor Santner             German
Hsiu-Ming Chang            Chinese (Traditional)
Jean-Baptiste              French
John Doe                   Turkish
Jonatan Nyberg             Swedish
Kheireddine Mkh            Arabic
Lari Oesch                 Finnish
Luca Bianchi               Italian
Marcelo Santana            Portuguese (Brazil)
Marian Hanzel              Slovak
Michael                    German
Mladen Pejaković           Serbian
msrn                       Finnish
naofum                     Japanese
Olexandr Nesterenko        Ukrainian
Osoitz                     Basque
Raphaël Barman             French
Sveinn í Felli             Icelandic
Sylvia van Os              Dutch
Tobias Bannert             German
Verdulo                    Esperanto
Verdulo                    Polish
Yaron Shahrabani           Hebrew
zmni                       Indonesian
2017-01-04 12:01:10 +00:00
Daniel Martí
56ccc09f90 Merge branch 'ci-update' into 'master'
Update CI image and build-tools to 25.0.2

See merge request !427
2016-12-23 16:35:16 +00:00
Daniel Martí
3d20a07c8a Update CI image and build-tools to 25.0.2
The new CI image also contains the support repo r41, with the support
libs version 25.1.0.
2016-12-23 12:55:28 +01:00
Peter Serwylo
6a6cede4de More specific paddings round the "collapsable lists" at the bottom of app details.
Also tried a more specific naming scheme for dimens to make it clearer where
they are to be used. This increased the padding on the left/right of the collapsable
lists. It also decreased the padding above/below.
2016-12-21 23:05:15 +11:00
Peter Serwylo
d54c138a1d Work on the "Donate" styles.
Still needs some better assets for the actual donate buttons, but now it includes
the relevant text about donating to developers. It also puts the donation options
in a grid layout and lets them flow across so that if there is more than three, they
will end up on the second line.
2016-12-21 23:05:08 +11:00
Daniel Martí
7997024a18 Adjust 0.102 release date in changelog
Forgot to do this when tagging.
2016-12-13 18:39:41 +00:00
Peter Serwylo
f9f0a0f91c Merge branch 'app_details_749' into 'master'
App details 749

The new App Details screen (issue #749), now accessible by long-clicking on an app in the application list.

See merge request !419
2016-12-08 01:19:49 +00:00
Daniel Martí
2b088bc438 README: clarify AM/PM meeting time via 24h format 2016-12-07 22:31:27 +00:00
mvp76
2c0a5fcb21 Checkstyle fixes 2016-12-07 23:25:34 +01:00
Daniel Martí
42b188a005 Merge branch 'correct-meeting-time' into 'master'
Correct meeting time

With the discussion on IRC [starting here](https://botbot.me/freenode/fdroid-dev/2016-11-14/?msg=76442333&page=1), the time in `README.md` is wrong.

> We are on `#fdroid` and `#fdroid-dev` on Freenode. We hold weekly dev meetings on `#fdroid-dev` on Tuesdays at 20h UTC, which usually last half an hour.

[It should be](https://botbot.me/freenode/fdroid-dev/2016-11-15/?msg=76516527&page=1) be:

> We are on `#fdroid` and `#fdroid-dev` on Freenode. We hold weekly dev meetings on `#fdroid-dev` on Thursdays at 8:30h UTC, which usually last half an hour.

See merge request !424
2016-12-07 21:39:28 +00:00
Nico Alt
2b98f5477b Correct meeting time
With the discussion on IRC [starting here](https://botbot.me/freenode/fdroid-dev/2016-11-14/?msg=76442333&page=1), the time in `README.md` is wrong.

> We are on `#fdroid` and `#fdroid-dev` on Freenode. We hold weekly dev meetings on `#fdroid-dev` on Tuesdays at 20h UTC, which usually last half an hour.

[It should be](https://botbot.me/freenode/fdroid-dev/2016-11-15/?msg=76516527&page=1) be:

> We are on `#fdroid` and `#fdroid-dev` on Freenode. We hold weekly dev meetings on `#fdroid-dev` on Thursdays at 8:30h UTC, which usually last half an hour.
2016-12-07 22:33:19 +01:00
mvp76
56575c3291 Bugfix, don't show "more" if we have MAX_LINES lines. 2016-12-06 09:45:35 +01:00
mvp76
65b16beb61 Make sure right view is selected as anchor on "more"-expansion 2016-12-06 09:44:46 +01:00
mvp76
734741c8f4 New implementation that is commented + easier to understand 2016-12-05 18:31:41 +01:00
Peter Serwylo
ccf763199f Replace if's with switches
Required changing some local variable names to prevent the same
`view` variable being declared multiple times. Otherwise it should
be a verbatim change from if statements to switch statements.
2016-12-05 22:56:27 +11:00
Peter Serwylo
a00534c7c7 Obey checkstyle rule preventing 'm' prefix for member variables
Required a couple of undesirable changes, such as:
 * sCollated -> collated
 * mFDroidApp -> fdroidApp (note the lower case 'd')

Otherwise it was relatively minor given how many member variables there are
in the code base.
2016-12-05 22:56:27 +11:00