1792 Commits

Author SHA1 Message Date
Hans-Christoph Steiner
e49d8c92df remove unused eu.chainfire:libsuperuser library
I forgot to remove this in ab767ce621b92c5aa82c16e1edfd0aa724293391

fdroid/fdroidclient#982
2018-07-30 18:02:03 +02:00
Markel Cuesta Manciles
d4ebed134d Translated using Weblate (Spanish)
Currently translated at 99.3% (432 of 435 strings)
2018-07-30 17:28:56 +02:00
Omar Aglan
fb98c75210 Translated using Weblate (Arabic)
Currently translated at 99.7% (434 of 435 strings)
2018-07-30 17:28:51 +02:00
Hans-Christoph Steiner
9cd3d81783 Weblate 2018-07-30 12:29:50 +00:00
Hans-Christoph Steiner
94e87d83c5 version code 1003005 2018-07-21 00:52:13 +02:00
Hans-Christoph Steiner
01280d65a5 show different inline button when installing app
This could definitely use a better design treatment, but at least it is
better than showing the "click to install" button again during the install
process.

closes #1357
2018-07-21 00:49:53 +02:00
Hans-Christoph Steiner
5e75bc060c remove unneeded method, it is only called once by the method above 2018-07-21 00:49:53 +02:00
Hans-Christoph Steiner
8feb735140 disable inline install/progress button when active
refs #1357
2018-07-21 00:49:53 +02:00
Hans-Christoph Steiner
1c50e28910 use new PendingInstall mechanism to control AppDetails buttons
This should hopefully give more reliable display/hiding of the buttons.

refs #1357
2018-07-21 00:49:53 +02:00
Hans-Christoph Steiner
d1cbbe72d7 when canceling download, delay removeApk() until its no longer needed
This was deleting the Apk from appMapping too fast, so the later status
updates couldn't be sent.
2018-07-21 00:07:54 +02:00
Hans-Christoph Steiner
2ff47ed5c3 remove unneeded startInstall() method to make tracing easier
Now tracing where .queue() is used is more direct.
2018-07-21 00:07:54 +02:00
Hans-Christoph Steiner
4bf1a4fa2b App Details: do not show cancel X on installing/uninstalling
It is not possible to cancel these, so do not show the X button.  This is a
hacky way to do it, but I couldn't see another way.
2018-07-21 00:07:54 +02:00
Hans-Christoph Steiner
a1edfdfc8d PendingInstall event for announcing start of process
This adds a new PendingInstall event which broadcasts that an install
process has started, but the state of it is not yet known, like
whether it needs to be downloaded still, or is ready to install.  It
marks the very first step of the whole InstallManagerService process.

Installer events should only be directly related to the install process as
managed by the Installer set of classes.  The newer AppStatusUpdate stuff
now tracks the whole lifecycle of the process.

This mostly reverts f0d6acd974548e24662a64271ae57922f74c3225 since there is
now the overarching concept of "Pending Install" to mark packages that are
somewhere in the whole process.

refs #828
refs #1357
2018-07-21 00:07:54 +02:00
Hans-Christoph Steiner
ab767ce621 purge deprecated, broken ExtensionInstaller, only works < android-20
This code is unmaintained, semi-broken, and only works on old Android
versions.  Time to go!

closes #982
2018-07-20 14:18:57 +02:00
Hans-Christoph Steiner
b75fc8e011 let whitelabel builds set custom Privileged Extension
For fullstack custom builds, they'll also need a whitelabel build of
Privileged Extension, which will have a different Application ID and
signing key than F-Droid Privileged Extension.
2018-07-20 13:54:07 +02:00
Hans-Christoph Steiner
2040d885f2 do not show Data/WiFi Settings Toast if device has no internet
Before, if the Data/WiFi Settings made it so the update process is not
allowed to run and the device was not offline or in Airplane Mode, it would
show this Toast then it would show the "your device is offline" Toast.
2018-07-20 10:43:34 +02:00
Hans-Christoph Steiner
34c788681b ensure single progressbar is shown while doing first index update 2018-07-20 10:43:34 +02:00
Hans-Christoph Steiner
339afa1e72 show indeterminite progress if doing initial index update
#509
2018-07-19 16:35:29 +02:00
Hans-Christoph Steiner
048d5531be only first trigger initial repo update if it is not already happening
I was seeing double index updates on first start.
2018-07-19 16:35:29 +02:00
Hans-Christoph Steiner
0d386b824f merges triedEmptyUpdate and lastUpdateCheck prefs into one useful one
This merges the triedEmptyUpdate preference into the lastUpdateCheck pref,
and uses that to determine whether the index update has ever run.  It seems
that lastUpdateCheck used to be used for that, but was semi-disabled. Then
triedEmptyUpdate was added. This merges the two into lastUpdateCheck, which
also tracks the timestamp of the last index update.
2018-07-19 16:34:14 +02:00
Hans-Christoph Steiner
e44ca193dd save result of Preferences.get() to speed up start up times
The initial start time is getting pretty slow, so hopefully this will save
a little bit.  It also makes it consistent with other places in the code,
like UpdateService.
2018-07-19 16:34:14 +02:00
Hans-Christoph Steiner
8503a625b5 show toast if user tries to update, but Data/WiFi settings disallow it 2018-07-19 16:34:14 +02:00
Hans-Christoph Steiner
1cb9754545 only show "Install History" Setting when it is actually enabled 2018-07-18 10:57:56 +02:00
Hans-Christoph Steiner
1771f2ce9f show repo title on certificate error toast messages
closes #1262
2018-07-18 10:57:56 +02:00
Hans-Christoph Steiner
36c0505115 add Share button to install history viewer
closes #1484
closes #1224
closes #70
2018-07-18 10:57:56 +02:00
Hans-Christoph Steiner
0b3e52a924 don't crash when manually adding a repo by typing it in
closes #1448
fdroid/fdroidclient!664
c83c8301e6ccca7ee408c7b4b898e81f6c23e222
2018-07-18 10:57:56 +02:00
Hans-Christoph Steiner
e05e306006 version code 1003004 2018-07-13 23:47:52 +02:00
Hans-Christoph Steiner
277cd3c992 rework UpdateService scheduling to work with data/interval prefs
This was doing a couple of things wrong:

* the scheduled job should always require a network, NONE doesn't work
* when the preferences change, it should cancel any scheduled job first,
  so that if the user chooses to disable auto-updates, that takes effect

closes #1474
closes #1451
closes #1457
2018-07-13 18:13:03 +02:00
Hans-Christoph Steiner
01abcc2f4d basic onStopJob() method for UpdateJobService
If the scheduler decides it should cancel a job, this will attempt to shut
down UpdateService.
2018-07-13 18:10:18 +02:00
Hans-Christoph Steiner
a912eebe5b stop all updates when "Over Data" and "Over WiFi" are both disabled
fdroid/fdroidclient#1457
fdroid/fdroidclient#1451
2018-07-13 18:10:18 +02:00
Balázs Úr
a12425cb92 Translated using Weblate (Hungarian)
Currently translated at 100,0% (432 of 432 strings)
2018-07-13 15:46:48 +02:00
YFdyh000
f7986073a8 Translated using Weblate (Chinese (Simplified))
Currently translated at 97.9% (423 of 432 strings)
2018-07-13 15:46:48 +02:00
Hans-Christoph Steiner
6996bb6968 rename InstallManagerService Receivers for clarity and consistency 2018-07-13 13:34:15 +02:00
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
d74e63c784 Weblate 2018-07-13 11:34:24 +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
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