1929 Commits

Author SHA1 Message Date
Hans-Christoph Steiner
962a2fb3d6 improve detection of hotspot mode
hotspot mode is not well represented with the WifiState stuff.  It can be
active when the WifiState is DISABLED or UNKNOWN.  Also, when switching
from active wifi to hotspot mode, WIFI_STATE_DISABLING broadcasts will be
sent, but WIFI_STATE_DISABLED/WIFI_STATE_UNKNOWN will not.
2015-05-10 00:37:05 -04:00
Daniel Martí
0db225e07c Bump to 0.89-test 0.89-test 2015-05-09 22:34:04 +02:00
Daniel Martí
05332409be Suppress fallthrough java warning 2015-05-09 22:24:41 +02:00
Hans-Christoph Steiner
96b7c35a2a rework WifiStateChangeService to support hotspots (aka WiFi AP on device)
When a device is setup as a WiFi Access Point aka "hotspot", the standard
API for getting the WiFi settings returns nothing.  We have to use a
separate API to get the IP address of the WiFi AP.  As far as I could tell,
there is no public API for getting the SSID/BSSID of the WiFi AP, so for
now that is left blank.  That means the wifi screen in swap is confusing
because it will say it is not attached when the device is a hotspot

@mvdan's https://github.com/mvdan/libaccesspoint should help there

#193 https://gitlab.com/fdroid/fdroidclient/issues/193
2015-05-09 13:41:30 -04:00
Hans-Christoph Steiner
edb3564e29 unified IP/Wifi state handling in WifiStateChangeService
To handle hotspots, this code will become more complicated.  Therefore,
first simplify things by putting all of the logic into one place, rather
than spread out across FDroidApp, the receiver, and the service
2015-05-09 13:41:30 -04:00
Hans-Christoph Steiner
2b59644e02 eliminate nested try/catch blocks for clearer code 2015-05-09 13:41:30 -04:00
Hans-Christoph Steiner
6703fa3652 rename to FDroidApp.restartLocalRepoServiceIfRunning() for clarity
This method handles checking if the service is running, and only restarts
it if it was running.
2015-05-09 13:41:30 -04:00
Hans-Christoph Steiner
c1b0b854fc on launch, check wifi if WIFI_STATE_ENABLED, the receiver handles the rest
On launch, we need to get the current state of the Wifi.  We only need to
start the WifiStateChangeService on WIFI_STATE_ENABLED, since any other
wifi state will be received by WifiStateChangeReceiver, which will launch
WifiStateChangeService when appropriate.

This reduces the chance that WifiStateChangeService will start when it is
not needed.
2015-05-09 13:41:29 -04:00
Hans-Christoph Steiner
bdc190a7d6 reset swap wifi info if it is not connected
Before, it was keeping the last active wifi, which is confusing when you
are not connected.
2015-05-09 13:41:29 -04:00
Daniel Martí
29b78df530 Remove "fdroid." from TAGs, add a comment on filtering by packagename 2015-05-08 23:28:32 +02:00
Hans-Christoph Steiner
0702183210 merge Fragment into ConnectSwapActivity to fix crash on rotate
I was getting frequent crash-on-rotate NullPointerExceptions after scanning
QR Codes.  This fixes it for me.

ConfirmReceiveSwapFragment is only ever used once in ConnectSwapActivity,
so it is a pointless abstraction.  It makes the code a lot more complicated
and also creates very complicated situations to handle when the screen is
rotated.  All of this gets much easier when everything is just included in
the Activity, since there is no problem being solved by the Fragments.
Fragments are for reusing chunks of UI in multiple places, or for showing
multiple chunks of UI in the same Activity.  Both of those cases can also
be handled, arguably better, without using Fragments:
https://corner.squareup.com/2014/10/advocating-against-android-fragments.html
2015-05-08 15:44:11 -04:00
Hans-Christoph Steiner
367387f967 move RepoUpdaterTest to the same package as RepoUpdater 2015-05-08 12:51:46 -04:00
Hans-Christoph Steiner
6e5912a633 move RepoUpdater from .updater package next to RepoXMLHandler
This gets rid of the .updater package, which now only contains RepoUpdater
2015-05-07 22:11:05 -04:00
Hans-Christoph Steiner
157b1e242f remove support for unsigned repos
This has been discussed quite a bit now.  It is very easy to generate a
signed repo on the server, and supporting unsigned repos adds complexity
and security issues, including "BZ-01-002 TOFU Requests too easy to
recognize and intercept" from the audit.

https://gitlab.com/fdroid/fdroidserver/merge_requests/48
closes #12 https://gitlab.com/fdroid/fdroidclient/issues/12
2015-05-07 22:11:05 -04:00
Hans-Christoph Steiner
1c5256a5d7 remove importRepo() method, it is very short and only used in one place 2015-05-07 22:11:05 -04:00
Hans-Christoph Steiner
4820ab3694 add forgotten import (I'm better at merge requests than direct pulls) 2015-05-07 22:10:38 -04:00
Daniel Martí
f4d9191ed5 Merge branch 'small-swap-repo-fixes' of https://gitlab.com/eighthave/fdroidclient 2015-05-08 00:34:49 +02:00
Daniel Martí
91541748a2 Update changelog 2015-05-08 00:33:49 +02:00
Hans-Christoph Steiner
a32154cacb don't operate on null string :( fixes previous commit 2015-05-07 18:23:04 -04:00
Hans-Christoph Steiner
281b2ce450 support market: search links that contain pname: and pub: in the query
* pub: is for searching by "Publisher Name":
  market://search?q=pub:Guardian%20Project

* pname: is an old way to specify "Package Name":
  market://search?q=pname:org.torproject.android

https://developer.android.com/distribute/tools/promote/linking.html
2015-05-07 18:15:19 -04:00
Hans-Christoph Steiner
c23d4e1988 get versionName from AndroidManifest.xml, remove duplicate strings field
No need to have the version set it more than one place!
2015-05-07 15:51:09 -04:00
Hans-Christoph Steiner
e543895940 fix adding repos via incoming URLs
This fixes bad logic introduced in c52262a4057f8a86a1082e4cfbab4e70ff195daf
2015-05-07 15:15:17 -04:00
Hans-Christoph Steiner
f79f95e25a fix support for nested repo URLs with bad QR scanner apps
These needed to be pathPattern rather than path in order to make the
IntentFilter treat the .* as a regexp rather than a string literal.
2015-05-07 14:59:57 -04:00
Daniel Martí
94096cdc95 Start changelog 2015-05-07 16:20:10 +02:00
Daniel Martí
01e6db5720 We don't need WRITE_EXTERNAL_STORAGE on api 19 or later
On api 19 or later, writing to your own private directory on the SD doesn't
require any extra dependencies. We only ever store icons, apks and index stuff
on the private repo, so we never read/write anywhere else on the SD.
2015-05-07 16:12:54 +02:00
Daniel Martí
1d225912f4 Remove a few unused variables 2015-05-04 00:14:40 +02:00
Daniel Martí
4a007698a6 Run dos2unix on all external source files 2015-05-04 00:08:36 +02:00
Daniel Martí
939efa5b17 Run "code cleanup" in Android Studio
This basically removes public, static and final from interfaces since it's
always that way.
2015-05-04 00:06:32 +02:00
Daniel Martí
46d79f24fc Fix to 26894fcb01d4: revert buildToolsVersion to the current release 2015-05-03 23:59:02 +02:00
Daniel Martí
0f36372d38 Fix to 26894fcb01d4: also bump the gradle dependency 2015-05-03 23:49:17 +02:00
Daniel Martí
4970bb8ead Merge branch 'master' into 'master'
Add missing import

Without this gradle shows an error...

See merge request !72
2015-05-03 14:29:51 +00:00
Nico Alt
054ac8b3fa add missing import 2015-05-03 12:18:39 +02:00
Daniel Martí
45137f2f8e Also apply fixes to custom zxing code 2015-05-01 00:38:06 +02:00
Daniel Martí
e314c401e7 Fix possible NPE when using a TextView 2015-05-01 00:38:06 +02:00
Daniel Martí
bc98fd69b1 Apply a few android studio fixes 2015-05-01 00:38:06 +02:00
Daniel Martí
869662152a Fix regression in 9c6a652a02e
String.replaceAll(String, String) isn't in-place!
2015-05-01 00:16:18 +02:00
Daniel Martí
45ab80bb29 Make CommaSeparatedList.make() also take String[] 2015-04-30 20:51:19 +02:00
Daniel Martí
7b4cee35c7 Throw some more final keywords in 2015-04-30 20:42:30 +02:00
Daniel Martí
26894fcb01 Update libsuperuser to bc71c5afeb9952cd 2015-04-30 20:28:26 +02:00
Daniel Martí
c5ed7699d6 Backport changelog typo fixes from f-droid.org 2015-04-30 17:37:37 +02:00
Daniel Martí
49b954e63d Bump gradle plugin to 1.2.2 2015-04-29 22:16:14 +02:00
Peter Serwylo
1b114b6bae Merge branch 'fix-202' into 'master'
Fix issue #202 - crash due to sqlite parameter limit being hit.

*NOTE: Queuing here for merge after next stable.*

The queries which have the potential to cause crashes due to too many parameters in the `ApkProvider` are now encapsulated in `ApkProvider` and can only be accessed by safe helper methods, which alleviate the problem by breaking big requests down into many smaller requests.

This will probably have to be done for the `ApkProvider`, but leaving for now because the limit is twice as big.

See merge request !70
2015-04-28 21:35:46 +00:00
Peter Serwylo
833db3b5ce Merge branch 'fix-220' into 'master'
Cache files to SD card again (if preference set).

**NOTE: Queueing here to be merged after next stable**

A previous security fix meant we no longer stored apk files on the
SD card. However, this should still be a feature that people can opt
for if they want, without being insecure. As such the process is now:

 * First download: put in internal storage (to ensure it can't be
   modified before installing)

 * After download: also copy to SD card for caching.

 * On starting F-Droid:

    + Always delete internal storage apks.

    + Only delete other, cached apks if cache preference is false.

To make the code simpler and less prone to bugs, I had to consider
the fact that if people did not have an accessible SD card, then the
path to a cached apk and a "downloaded but transient" apk cannot be
the same. While possible, it means many checks to see if they are
the same, thorough permission management to prevent security issues,
and makes it harder to clear transient apks when F-Droid starts.

See merge request !71
2015-04-28 21:34:05 +00:00
Daniel Martí
7267736166 Bump to 0.88 0.88 2015-04-28 23:14:55 +02:00
Daniel Martí
3ab6bd84f9 Fix copy/paste error in 14ae586
This led to devices incorrectly flagging packages as non-compatible. With this
fix everything works as before.
2015-04-24 01:16:56 +02:00
Daniel Martí
11dc9f6460 Revise changelog in preparation for stable 2015-04-22 13:28:23 +02:00
Daniel Martí
dcd425edc0 Clarify that we now ignore trailing spaces in searches 2015-04-22 13:24:03 +02:00
Daniel Martí
fa5eac0b72 Bump to 0.87-test 0.87-test 2015-04-21 19:29:06 +02:00
Daniel Martí
e367265396 Some style/format fixes suggested by AS 2015-04-21 19:27:10 +02:00
Daniel Martí
14ae58690c Simplify compat.SupportedArchitectures 2015-04-21 19:27:03 +02:00