211 Commits

Author SHA1 Message Date
Peter Serwylo
c6bc8b5e37 Merge branch 'material-design' into swap-demolition-material 2015-06-04 08:26:46 +10:00
Peter Serwylo
f9bcf33d50 WIP: Fixed minor UI issues.
"Confirm swap" background was white but should have been blue.

SwapWorkflowActivity now extends ActionBarActivity instead of
FragmentActivity so older devices have an action bar (though it is
not styled with blue action buttons on android-10 devices).
2015-06-03 23:55:11 +10:00
Daniel Martí
9795b31b69 Add missing language code for Sardinian in the settings
Closes #272
2015-05-30 12:19:39 +02:00
Peter Serwylo
1b2678d6ed WIP: Applying styles correctly to views refactored from fragments. 2015-05-23 01:25:06 +10:00
Dominik Schürmann
29c1aaf33c Touch instead of Click 2015-05-21 00:07:23 +02:00
Dominik Schürmann
fc631c8781 Better strings for system installer, cleanup 2015-05-20 23:27:57 +02:00
Dominik Schürmann
b393befb70 Implement notification for install into system feature 2015-05-20 21:59:24 +02:00
Dominik Schürmann
2befa22b2c Remove uneeded case of no new permissions in InstallConfirmActivity 2015-05-20 21:59:24 +02:00
Daniel Martí
8e62d9ae7e Add install confirm+perms screen to SystemInstaller 2015-05-20 21:59:24 +02:00
Daniel Martí
6e89a55879 Add confirmation dialog to uninstalling via SystemInstaller 2015-05-20 21:56:45 +02:00
Dominik Schürmann
a7aa554f66 Remove root installer 2015-05-20 21:56:45 +02:00
Dominik Schürmann
f328a9de5e Install F-Droid as system-app via root access 2015-05-20 21:56:44 +02:00
Peter Serwylo
5065c37e13 Fix #263 "cannot manually add repo that was swapped before"
Pretends that the swap repo never existed, by deleting it before adding
the new repo, and showing the same message that is shown when a new
repo is added. This does not change behaviour for existing non-swap
repos. They are not deleted before being added again, or else we would
lose the ability to verify the fingerprint of an existing repo is the
same as a newly added one with the same URL.

Note that this has the effect that the fingerprint/pubkey of the swap
repo is nuked when adding that repo manually.

Internationalised the string "BAD FINGERPRINT" while I was at it.
2015-05-20 08:26:57 +10:00
Peter Serwylo
cb73e6352c Cleaned up some lint errors, i18n some strings. 2015-05-14 10:00:11 +10:00
Peter Serwylo
6f3ca8b9c4 WIP: Making 'scan' UI more solid 2015-05-13 16:54:50 +10:00
Peter Serwylo
7dff9a9499 WIP: Bluetooth communication between devices is up and running (not finished).
Devices now make themselves discoverable, and the client sends a test ping.
They UI is not styles properly though, and it doesn't handle the case where
somebody chooses to make their device not-discoverable (because the desired
peer is already paired and it is unneccesary). It also doesn't handle failure
anywhere.
2015-05-13 16:53:10 +10:00
Peter Serwylo
fba02e32b5 WIP: Bluetooth list of paired devices. 2015-05-13 16:39:10 +10:00
Peter Serwylo
92e4d99c1c Added material icons from CC licensed "Google material icons" set.
Fixes #240.

To make this easier, I added a script to aid in downloading icons.
Checkout F-Droid/tools/download-material-icon.sh for more details.

The icons are licensed under the CCv4 attribution license, which I
added a shout out to under "License" in the README.md.
2015-05-12 01:26:31 +10:00
Peter Serwylo
1203cacbe4 Made swap button text white. 2015-05-11 16:27:41 +10:00
Peter Serwylo
c33cacedaf Merge branch 'master' into 'master'
improved, but still rudimentary, hotspot handling in swap

My previous merge request fdroid/fdroidclient!78 was based on one broken assumption: `WIFI_STATE_UNKNOWN` means that the hotspot is active.  Apparently, that's not always the case.  Also, sometimes when the hotspot is active, its `WIFI_STATE_DISABLED`.  Even worse, there is no broadcast message sent on final config of the hotspot.  There is only a `WIFI_STATE_DISABLING` from turning off the wifi, but then never a broadcast for `WIFI_STATE_UNKNOWN` and/or `WIFI_STATE_DISABLED`.  But I found some tricks that seem to work for now.  We'll need to use your library, @mvdan, to really get good support of hotspots.

This also includes some basic UI tweaks to represent the hotspot mode in the swap wifi screen.

See merge request !79
2015-05-10 22:39:12 +00:00
Peter Serwylo
3df03bbb1e Fix #250. Fix #251. Normalize URLs before saving, and disallow invalid URLs.
Removes trailing slashes from URLs, replaces multiple consecutive forward
slashes in the path with a single slash. Canonicalizes the URL.

If the URL is invalid, display a message to the user and don't let it get
added.

NOTE: This does *not* normalize existing URLs in the database.
2015-05-10 23:22:35 +10:00
Peter Serwylo
93339cbbfb Fix issue 246: Rewrite process for verifying existing repos.
Previously it would only compare the details of a new repo to existing
ones if the new repo came via an intent. Now it does it whenever you
change the text in the new repo dialog (shouldn't be too much of a
performance hit, it isn't doing very much).

The things it (still) doesn't do is:
 * verify that the url looks like a url
 * sanitize the newly input uri and compare it to sanitized saved repos

The second point means that you can end up with:
 http://10.0.1.50/ and
 http://10.0.1.50

both in the list. I'm going to log an issue for this, because it should
be fixed, but doesn't need to hold this up.
2015-05-10 21:56:40 +10:00
Hans-Christoph Steiner
12b3a5af12 initial sketch of how to display hotspot mode on the swap wifi screen
This is really just a placeholder, there is lots of work to be done here.
Really, this screen should have the SSID of the hotspot, but we need to use
a private API to get that.  Coming soon...

The icon is free software from:
https://commons.wikimedia.org/wiki/File:Wifi.svg
2015-05-10 00:37:05 -04:00
Peter Serwylo
ec67059128 More colours beyond colorPrimary.
Signed-off-by: Nico Alt <nicoalt@posteo.org>
2015-05-07 22:06:01 +02:00
Peter Serwylo
b57a122ac1 Made category Spinner style correctly.
Signed-off-by: Nico Alt <nicoalt@posteo.org>
2015-05-07 22:06:01 +02:00
Nico Alt
315265fbb4 fix #91: Material Design
- use 'com.android.support:appcompat-v7:22.0.0' instead of version 20.0.0
- ActionBar color: "F-Droid Blue" (also option for "F-Droid Green")
- fix invisible swap button with Material Design
- remove "Light + dark action bar" theme (as of Action Bar is always blue/green)
2015-05-07 22:06:01 +02: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
Daniel Martí
7267736166 Bump to 0.88 2015-04-28 23:14:55 +02:00
Daniel Martí
fa5eac0b72 Bump to 0.87-test 2015-04-21 19:29:06 +02:00
Daniel Martí
928d3e8c9a Bump to 0.86-test 2015-04-18 00:06:13 +02:00
Peter Serwylo
dccd0256d3 Reworded help string for cache apk preference.
There was some confusion about the "SD Card" portion of the string.
Sometimes it will not store on the SD card, e.g. if the SD card is
not mounted, or inaccessible to F-Droid.
2015-04-16 17:00:23 +10:00
Peter Serwylo
280a5e7279 Merge branch 'master' into 'master'
translation fixes for swap

I just had a Spanish-speaker test out the swap, and these are the fixes related to their bug reports.

See merge request !68
2015-04-15 21:32:54 +00:00
Peter Serwylo
de3e34060c Fixed issue #226 - preferences don't crash.
Use custom code rather than "Locale.forLanguageTag" (which is android-21
specific). Also fixed the actual setting of the language, by modifying
the code in FDroidApp to respect the country code (rather than just the
language code).
2015-04-16 07:08:39 +10:00
Hans-Christoph Steiner
571e4a18e4 move all text bits to strings.xml so they are translatable
Inline text is not translatable, it is important to heed the lint warnings
about:

Hardcoded string "Swap success!", should use @string resource
2015-04-14 18:08:03 -04:00
Hans-Christoph Steiner
3d203f628f use official Android methods to mark strings as "do not translate"
Android's lint will give warnings for all strings that are not translatable
or translated.  Some strings like repo name/description and language codes
should never be translated.  Here's how to officially mark as "do not
translate":

* for individual strings, include: translatable="false"
* for the entire file, name it: donottranslate.xml

http://tools.android.com/recent/non-translatablestrings
https://code.google.com/p/android/issues/detail?id=75163
2015-04-14 18:08:03 -04:00
Daniel Martí
f58f008a63 Bump to 0.85-test 2015-04-12 23:57:54 +02:00
Peter Serwylo
7f929f96a1 Added en-US locale to preferences.
Also changed the way locales are loaded. Now it deals well with language
codes that are followed by country codes (e.g. "en-US" rather than just
"en").
2015-04-11 23:04:37 +10:00
Peter Serwylo
04a05e3c52 Merge branch 'fix155' into 'master'
Change client language from the app options (#155)

Bug: ActionBar Language does not change.

Edit: To make it more clear, you have to restart the app manually for the action bar language to be changed.

See merge request !65
2015-04-11 06:04:24 +00:00
Peter Serwylo
15b0beba17 Wifi swap client now requests swap server to connect back.
It does this by sending a HTTP POST request to /request-swap on the
swap server. That listens for a POST to this path, and responds by
popping open a confirmation message to the user on the server device.
2015-04-11 10:55:48 +10:00
Nico Alt
14adb2a302 change client language from the app options (#155)
Bug: ActionBar Language does not change.
2015-04-08 20:53:04 +02:00
Daniel Martí
0a515dfae1 Bump to 0.84-test 2015-04-01 20:56:47 +02:00
Peter Serwylo
4711b50836 Swap works on 2.3 devices.
* Cleaned up text alignment styles for API < 17.

API v17 has a textAlignment style, wherease previous verisons rely on
the "gravity" property. This change includes gravity="center" where there
was previously only textAlignment="center".

 * Fragments get added properly on 2.3 device.

For some reason, when adding the fragment to android.R.id.content, it
wouldn't work on my 2.3 device. This change includes a (almost) empty
activity layout with a single FrameLayout. The fragments are added to
this rather than "content", and it works better. It is not perfect - it
still adds the fargments behind the action bar, and so the action bar
appears blue. But at least they are there :)

 * Added translatable strings where constants were used before.

Not related to v2.3 support, but stil important for a stable release,
that is fully translated.
2015-04-01 15:26:10 +11:00
Peter Serwylo
f1655496d8 Fix issue #2: better notifications on ICS+ devices.
Shows an expandable notification on devices that support it (4.1+
I believe). The support library does most of the job of handling
incompatibilities between platforms.
2015-04-01 08:17:05 +11:00
Daniel Martí
bd4cd81f50 Merge branch 'fix/issue-34-empty-list' of https://gitlab.com/pserwylo/fdroidclient 2015-03-30 16:22:22 +02:00
Daniel Martí
c11fdd11d8 Bump to 0.83 2015-03-26 19:07:25 +01:00
Daniel Martí
0ced75d451 Bump to 0.82 2015-03-23 16:44:45 +01:00
Peter Serwylo
3abb426fc3 Added a message when any of the app lists are empty.
Previously, a few people have been confused by an empty list when they first
open F-Droid (e.g. if they are not connected to the internet, and repos didn't
update). This provides some feedback so that there is never a blank screen.

Fixes Issue #34.
2015-03-16 21:42:10 +11:00
Daniel Martí
c2eb9a9b67 Bump to 0.81-test 2015-03-15 19:14:04 +01:00
Peter Serwylo
74b285a77f Fix Issue #5: Guess at common repo paths (/, /fdroid/repo, /repo)
When adding repositories using the Manage Repos activity, firstly look
for an /index.jar appended on the URL provided by the user. If that
doesn't work (HTTP status code other than 200) then it will try
/fdroid/repo/index.jar, then /repo/index.jar. If it can't establish a
connection to the server, or if none of the above attempts results
in a 200, then the path provided by the user is kept (even though we
have a hunch it might be wrong).

This is to cover for the case where people arn't connected to the net.
Another way to deal with no internet connectivity is provided by a
"Skip" button on the dialog while searching for the index.jar.

The searching for index.jar is done by doing a HTTP HEAD request, so
the entire jar needn't be downloaded.

Finally, to make this happen in a clean sort of way, I refactored the
ManageReposActivity a little bit to encapsulate all of the add repo
dialog handling into a subclass. This way, the outer class doesn't
need to know things like: Is the dialog showing, what state is it in,
is the background task to search for index.jar files running, how and
when to cancel that task, etc.
2015-03-14 00:44:17 +11:00
Daniel Martí
d338046329 Bump to 0.80-test 2015-03-08 20:38:44 +01:00