5523 Commits

Author SHA1 Message Date
Hans-Christoph Steiner
0952f3ba71 track pending installs from first request to confirmed install
This changes the logic to only use a SharedPreference to track pending
installs, and to set the "pending install" mark as soon as possible
while waiting until final confirmation to unmark.  Before, there was a
complicated combination of a SharedPreference and the use of the APK in the
cache as a mark.

!488
refs #962
closes #1311
closes #1031
closes #1271
2018-07-13 13:34:15 +02:00
Hans-Christoph Steiner
862e985cc4 the current app is not always available when requesting uninstall
Since there are many ways to uninstall an app, including from Google
Play, {@code adb uninstall}, or Settings -> Apps, this method cannot
ever be sure that the app isn't already being uninstalled.  So it
needs to check that we can actually get info on the installed app,
otherwise, just call it interrupted and quit.

closes #1435
2018-07-13 13:34:15 +02:00
Hans-Christoph Steiner
be560f7179 show indeterminate progress when installing and uninstalling
This should make the buttons in AppDetails show the realistic state a lot
better.

closes #1145
refs #1357
2018-07-13 13:34:15 +02:00
Hans-Christoph Steiner
6c66697762 send ACTION_UNINSTALL_STARTED before any work has started
This needs to be broadcast as soon as possible so the UI can change to lock
out the user from doing conflicting actions.

refs #1357
2018-07-13 13:34:15 +02:00
Hans-Christoph Steiner
ab8f405dd2 Revert "add adaptive icon"
This reverts commit 3034afedeb81ab77ded807b66f06eea6cfab3b2c.

It still needs some work, see fdroid/fdroidclient#1298
fdroid/fdroidclient!680
2018-07-13 13:33:57 +02:00
Hans-Christoph Steiner
955edb49cd Merge branch 'weblate' into 'master'
Weblate

See merge request fdroid/fdroidclient!709
2018-07-13 11:34:24 +00:00
Hans-Christoph Steiner
d74e63c784 Weblate 2018-07-13 11:34:24 +00:00
Hans-Christoph Steiner
35a2ec5687 Merge branch '1.3-release-polish' into 'master'
1.3 release polish

Closes #1450, #1502, #1434, and #871

See merge request fdroid/fdroidclient!708
2018-07-12 22:00:23 +00:00
Hans-Christoph Steiner
c7dcb92a20 make SeekBarPreference format summary text in a standard way
I fixed it by using the same style as a standard preference:
* the summary text size was a bit too large
* the summary text should be allowed to wrap

closes #1450
2018-07-12 17:52:16 +02:00
Hans-Christoph Steiner
54a080f7f7 only scroll to bottom of Setting when toggling Expert Mode
closes #1502
2018-07-12 17:35:50 +02:00
Hans-Christoph Steiner
edb9fcd044 do not crash on mystery last second null IP addresses, closes #1434
java.lang.IllegalArgumentException: Could not parse [null/24]
 at org.apache.commons.net.util.SubnetUtils.calculate(SubnetUtils.java:275)
 at org.apache.commons.net.util.SubnetUtils.<init>(SubnetUtils.java:51)
 at org.fdroid.fdroid.net.WifiStateChangeService.setIpInfoFromNetworkInterface(WifiStateChangeService.java:261)
 at org.fdroid.fdroid.net.WifiStateChangeService.access$100(WifiStateChangeService.java:50)
 at org.fdroid.fdroid.net.WifiStateChangeService$WifiInfoThread.run(WifiStateChangeService.java:132)
2018-07-12 17:34:24 +02:00
Hans-Christoph Steiner
5295b6f0d1 rename FAB id to make it easier to find 2018-07-12 17:34:24 +02:00
Hans-Christoph Steiner
6bcc1f2e68 fix crasher caused by wrong init
Also, app.installedApk.sig is set in App.initInstalledApk()
from 3a5ecc5e8ec6c820dbfdb788dc06f7dbb0699c18

refs #1305
refs #855

java.lang.NullPointerException
at org.fdroid.fdroid.data.App.getInstance(App.java:390)
at org.fdroid.fdroid.localrepo.CacheSwapAppsService.onHandleIntent(CacheSwapAppsService.java:77)
at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.os.HandlerThread.run(HandlerThread.java:60)
2018-07-12 17:34:23 +02:00
Hans-Christoph Steiner
11c28bff2c use nearby icon in Nearby/Swap notification
closes #871
2018-07-12 17:34:23 +02:00
Hans-Christoph Steiner
4ff6afad1b Merge branch 'push-request-polish' into 'master'
push request polish

See merge request fdroid/fdroidclient!707
2018-07-12 15:27:10 +00:00
Hans-Christoph Steiner
02f10ea632 Merge branch 'three-randos' into 'master'
Three random low risk commits for 1.3

See merge request fdroid/fdroidclient!706
2018-07-12 10:15:41 +00:00
Hans-Christoph Steiner
c2d9749105 add Expert Pref to enable Push Requests
Since !705 will allow OEMs, ROM makers, etc. to add repos, there needs to
be a way for the user to prevent those from automatically installing or
uninstalling apps for users of the full F-Droid app, which guarantees user
control.
2018-07-11 16:05:53 +02:00
Hans-Christoph Steiner
1fe0d8f4b7 only process Repo Push Requests from IndexV1 if they are enabled 2018-07-11 16:05:53 +02:00
Hans-Christoph Steiner
d9781d735c ban internal Repo vars from being set by the index JSON
These things should never be settable from the server.
2018-07-11 16:05:53 +02:00
Hans-Christoph Steiner
5b11898ba3 improve debug message when Apk is missing NAME and/or REPO_ADDRESS 2018-07-11 15:58:42 +02:00
Hans-Christoph Steiner
61a452e7cd add new Anti-Feature: NoSourceSince
* https://f-droid.org/wiki/page/Antifeature:NoSourceSince
* fdroidserver!529
* fdroidserver#508
2018-07-11 15:58:42 +02:00
Hans-Christoph Steiner
0d1cdf84f9 stop all F-Droid services when hiding by querying for list
No need to list them out manually, it is easy to get the list of what is
actually registered for this app.
!629
2018-07-11 15:58:42 +02:00
Hans-Christoph Steiner
bfb67061b2 Merge branch 'share-repo-url' into 'master'
add share button to repo details activity, for sharing repo urls

See merge request fdroid/fdroidclient!696
2018-06-28 18:40:08 +00:00
Michael Pöhn
6f7a8db019 fix share repo dialog text 2018-06-28 16:15:57 +02:00
Michael Pöhn
4cdbee7d3b repo activity: move delete button to end of options menu 2018-06-28 16:15:57 +02:00
Michael Pöhn
c2fce47975 add share button to repo details activity, for sharing repo urls 2018-06-28 16:15:56 +02:00
Hans-Christoph Steiner
1bd4f9f4e7 bump to version code 1003003 1.3-alpha3 2018-06-27 23:22:03 +02:00
Hans-Christoph Steiner
aa87a02584 update CHANGELOG 2018-06-27 23:21:23 +02:00
Hans-Christoph Steiner
56cbcd386c Merge branch 'final-whitelabel-features' into 'master'
final whitelabel features

See merge request fdroid/fdroidclient!695
2018-06-27 20:25:32 +00:00
Hans-Christoph Steiner
bae8d2718e Merge branch 'weblate' into 'master'
Weblate

See merge request fdroid/fdroidclient!702
2018-06-27 19:51:52 +00:00
Hans-Christoph Steiner
40e6437602 Weblate 2018-06-27 19:51:52 +00:00
Hans-Christoph Steiner
f17b5061fd Merge branch 'adaptive-icon' into 'master'
add adaptive icon

Closes #1298

See merge request fdroid/fdroidclient!680
2018-06-27 18:55:09 +00:00
Hans-Christoph Steiner
c9241ae720 Merge branch 'key-fixes-for-todays-alpha' into 'master'
Key fixes for todays alpha

See merge request fdroid/fdroidclient!701
2018-06-27 18:48:05 +00:00
Hans-Christoph Steiner
7043627a3a basic Install History viewer, available only when logging is enabled
This provides a super simple way to view the install history directly in
F-Droid.
2018-06-27 20:45:27 +02:00
Hans-Christoph Steiner
460720c7f3 allow user to disable ACRA entirely with a preference
ACRA is sometimes problematic or annoying.  Also, whitelabel versions might
want to disable ACRA.  The setting the preference defaultValue is an easy
way to do that.

refs #1483
2018-06-27 20:45:27 +02:00
Hans-Christoph Steiner
b1c3d64748 add expert option to send debug version/UUID on each HTTP download
When debugging issues, tracking the client can be quite useful.  This makes
an "Expert" preference that adds the app version and a randomly generated,
stored UUID to the query string each time it downloads an index or an app
package.

This is also useful in whitelabeling, for use cases where there needs to be
some kind of identifier to make it work.
2018-06-27 20:45:27 +02:00
Hans-Christoph Steiner
d57b00ab7d Merge branch 'master' into 'master'
Highlight Install status below app version

See merge request fdroid/fdroidclient!700
2018-06-27 15:29:21 +00:00
Hans-Christoph Steiner
2c5fe8ffbe purge redundant system_install_* strings 2018-06-27 17:16:49 +02:00
Hans-Christoph Steiner
519101a8a4 prevent crash loop after rapid install/uninstall cycling
If you quickly cycle between installing an app and uninstalling it, then
`app.installedApk` will still be null when AppDetails2.startUninstall()
calls InstallerService.uninstall().  It is better to crash earlier here,
before the Intent is sent with a null APK, because InstallerService is set
to receive Sticky Intents.  That means they will automatically be resent
by the system until they successfully complete.
2018-06-27 17:16:30 +02:00
Hans-Christoph Steiner
ea166fbc81 "Privileged Extension" pref requires special defaults handling
Fix privileged installer mode, broken by 5ffec23b2f3d367e8e04.  See the
javadoc string for Preferences.isPrivilegedInstallerEnabled() for more info
2018-06-27 17:16:30 +02:00
Hans-Christoph Steiner
74cfbb9658 gitlab-ci: only run deploy_nightly if DEBUG_KEYSTORE is set 2018-06-27 17:16:30 +02:00
Hans-Christoph Steiner
6cb54e8821 gitlab-ci: name job using all key components: test_lint_pmd_checkstyle 2018-06-27 17:16:30 +02:00
Umang
4d9f3ffa29 Highlight Installed App version 2018-06-27 18:27:13 +05:30
Hans-Christoph Steiner
2e802fc6e4 version code 1003002 1.3-alpha2 2018-06-25 22:55:33 +02:00
Hans-Christoph Steiner
8d62f2a27a update CHANGELOG 2018-06-25 22:55:33 +02:00
Hans-Christoph Steiner
6a3de3aab4 Merge branch 'weblate' into 'master'
Weblate

See merge request fdroid/fdroidclient!699
2018-06-25 20:46:18 +00:00
Hans-Christoph Steiner
9ed2539ea5 Weblate 2018-06-25 20:46:18 +00:00
Hans-Christoph Steiner
407e545a24 Merge branch 'notification-preferences' into 'master'
notification preferences

See merge request fdroid/fdroidclient!698
2018-06-25 20:44:09 +00:00
Hans-Christoph Steiner
4292832736 show Updating progress notification based on "available updates" pref
The notification that shows the download/parse progress of the index update
is now controled by the "Show available updates" preference.  That means it
will not be shown at all in the notifications bar if that preference is
disabled.  There will still be the header inside of F-Droid.  Ideally, the
Updating process would be shown in the Updates tab.
2018-06-25 21:22:12 +02:00
Hans-Christoph Steiner
d8d043125b add expert preference to disable all notifications
This preference is meant for whitelabel builds that are meant to be
entirely controlled by the server, without user interaction, e.g.
"appliances".  Some users have asked for such a thing, so it makes sense to
have it available as an expert preference.  In general, we want to ensure
that installs/updates always show a notification so that the user is aware
of what is being installed on their computers.  That is the same policy as
other app stores like Google Play, etc.
2018-06-25 21:22:07 +02:00