72 Commits

Author SHA1 Message Date
Peter Serwylo
b2bde89834 Merge remote-tracking branch 'Nutomic/no-download-dialog' into integration2/mr-102-and-107 2015-08-03 22:59:38 +10:00
Hans-Christoph Steiner
4fd914ac7a convert repo update dialog to a notification
Since the repo updates are happening in an IntentService, they are already
running in a separate thread.  Ironically, the dialog was showing in spite
of that.  This removes the dialog entirely and instead puts up a
Notification with the same messages.  Ultimately, the "refresh" button
should go away, the repos should be updated whenever someone goes to
install an app, and all APK downloads should also show up in the same
Notification.

This removes UpdateReceiver entirely and replaces it with local broadcasts,
since that is a common pattern in FDroid and Android.  It also reduces the
amount of code here.

refs #103 https://gitlab.com/fdroid/fdroidclient/issues/103
2015-08-01 20:58:14 +02:00
Daniel Martí
083ceca893 Remove unused resources
These went unnoticed because apparently lint.xml was omitting all unused
resources, not just default_repo.xml.
2015-07-28 22:04:45 -07:00
Felix Ableitner
8c25134031 Replaced download dialog with embedded progress bar (fixes #270). 2015-07-27 13:04:42 +02:00
relan
28ba6921d1 Tint links
Apply the accent color to links.
2015-07-23 09:46:33 +03:00
relan
04e8b591ab Tint alert dialogs
Apply the accent color to alert dialog buttons. Note that without
"android:windowMinWidthMajor" and "android:windowMinWidthMinor" attributes
dialog width is calculated incorrectly resulting in visual artifacts.
2015-07-23 09:19:20 +03:00
Hans-Christoph Steiner
675151b4ef rename string status_processing_xml to prevent crashes on old translations
Thanks to @mvdan for catching that.  Turns out Java's String formatting is
not as tolerant as C's printf().  Java crashes when the format is wrong,
while C just ignores extras.
2015-07-13 10:32:08 -07:00
Hans-Christoph Steiner
64d709c142 create ProgressBufferedInputStream to get progress info while parsing XML
Might as well tap into the stream to get the byte counts, that's best
progress info I can think of when parsing a file.

This is a step towards a single progress bar for the whole process, instead
of showing one progress for downloading, another for parsing XML, then a
third for processing the new app info.
2015-07-13 10:32:08 -07:00
relan
c6a2b1174e Apply new UI colors
Action bar color is Blue 700.
Status bar color is Blue 900.
Accent color is not from Material Design palette.

See https://www.google.com/design/spec/style/color.html for color values.
2015-07-04 21:32:38 +03:00
Daniel Martí
515ca01d38 Replace all occurences of FDroid with F-Droid
Except FDroid.apk, since that is actually its name. Thanks to @SylvieLorxu for
spotting.
2015-06-21 13:48:10 +02:00
Nico Alt
5be35d1d87 Merge branch 'material-design' into 'master'
Material Design

Similar to !94, this wants to merge from the F-Droid branch.
Old MR is !84.

See merge request !95
2015-06-18 21:17:36 +00:00
Daniel Martí
7f3db513e5 Don't mention automatic app updates, closes #280
This feature is not yet implemented. The new sentence is more generic and
doesn't get us into trouble.
2015-06-17 12:08:24 +02:00
Peter Serwylo
a345788dba 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-06-15 21:19:14 +02:00
Peter Serwylo
71605e98dc Made swap button text white. 2015-06-15 21:19:14 +02:00
Peter Serwylo
6452d2da96 More colours beyond colorPrimary.
Signed-off-by: Nico Alt <nicoalt@posteo.org>
2015-06-15 21:19:14 +02:00
Peter Serwylo
d94e8a4ad2 Made category Spinner style correctly.
Signed-off-by: Nico Alt <nicoalt@posteo.org>
2015-06-15 21:19:14 +02:00
Nico Alt
03c5a224de 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-06-15 21:19:14 +02:00
Peter Serwylo
78b5f489ef Merge branch 'fix-263/explicitly-add-swap-repo' into 'master'
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.

To test it out, here is some instructions to make life easier:

Firstly, go into manage repos and delete the guardian project main repo (going to pretend to use this for swapping to make life easier).

Then if you run `sqlite3 /data/data/org.fdroid.fdroid/databases/fdroid` and execute the query:

`select substr(fingerprint, 0, 10), substr(pubkey, 70, 10), address, isSwap from fdroid_repo order by fingerprint desc;`

You should see:

```
B7C2EEFD8|081ad310b3|https://guardianproject.info/fdroid/archive|0
43238D512|071310b300|https://f-droid.org/archive|0
43238D512|071310b300|https://f-droid.org/repo/|0
```

Now simulate a swap session like so:

```
adb shell am start -a android.intent.action.VIEW -d 'https://guardianproject.info/fdroid/repo?swap=1'
```

Which results in the following database:

```
B7C2EEFD8|081ad310b3|https://guardianproject.info/fdroid/archive|0
B7C2EEFD8|081ad310b3|https://guardianproject.info/fdroid/repo|1
43238D512|071310b300|https://f-droid.org/archive|0
43238D512|071310b300|https://f-droid.org/repo/|0
```

Note the last column (`isSwap`) is `1` for the newly added swap repo. Now we will add the repo (without a fingerprint) to the Manage Repo activity. If you are feeling lazy, execute:

```
adb shell am start -a android.intent.action.VIEW -d https://guardianproject.info/fdroid/repo
```

The repo will be removed, then re-added as a TOFU repo:

```
B7C2EEFD8|081ad310b3|https://guardianproject.info/fdroid/archive|0
43238D512|071310b300|https://f-droid.org/archive|0
43238D512|071310b300|https://f-droid.org/repo/|0
||https://guardianproject.info/fdroid/repo/|0
```

I noticed some bugginess with sending the same intent and it being ignored, I'll have to look at this another day (not caused by this change, it already existed in master).

See merge request !90
2015-06-15 09:33:06 +00:00
Daniel Martí
62f9c84252 Merge branch 'fdroid-system-install' 2015-06-14 18:15:19 +02:00
Nico Alt
f0c00c144c Add support for changelog links 2015-06-10 15:48:50 +02:00
Nico Alt
a653b0156a improve AppDetails
- App icon is now 72dp x 72dp
- Description is expandable
- License, categories, Website, Source Code, Issues and Donate (#232) are moved from header to summary
- Buttons to install, update and run are moved from action bar to header
- Permissions are expandable and always shown
- Add myself to copyright holders of "F-Droid/res/layout/app_details_header.xml", "F-Droid/res/layout/app_details_summary.xml" and
"F-Droid/src/org/fdroid/fdroid/AppDetails.java"
2015-06-10 15:48:11 +02:00
Daniel Martí
ee6daf356b Bump all bundled repo versions to 13 2015-06-10 15:48:02 +02:00
Daniel Martí
ab7067f247 Also bundle repo versions in the client
Without them, some features like proper density icons only worked after the
first update, but not on the first index update itself since the version
defaulted to 0.
2015-06-08 23:53:07 +02:00
Daniel Martí
9795b31b69 Add missing language code for Sardinian in the settings
Closes #272
2015-05-30 12:19:39 +02: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
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
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