452 Commits

Author SHA1 Message Date
Peter Serwylo
3eee4f115a Make "Open QR scanner" button work for swap connect screen.
I did the same as some previous code which copied code from the zxing
library and put it in the com.google.zxing namespace (but left the license
in tact - is this okay for Apache 2.0 stuff?). The reason was that they
encourage copying the relevant two files into your project and modifying
as neccesary. In this case, it wasn't about modifying for functionalities
sake, but rather for android support libraries sake. The upstream version
doesn't support android.support.v4.app.Fragments, only android.app.Fragments.

Hooking up the intent integrator from zxing almost removes the need for
the refactoring which made FDroid.java responsible for handling "new repo"
intents. However, there is still the one case of the user not using
the QR code, but rather a web browser to connect to a swap. That is, they
will click a link on the other phones web browser, which directs them to
initiate the swap. Thus, we still need FDroid.java to be able to distinguish
between a "swap" new repo request, and a regular "add repo" new repo request.

In the process, I also commented out the "It's not working" button.
2014-10-22 18:01:24 +10:30
Peter Serwylo
b841c4b4c9 Remove public/private/hotspot icons (Fixes issue #9)
These have been temoprarily moved to an unused layout. The reason
it wasn't removed completely was because the layout still adheres
to the spec from carrie (and I couldn't be bothered looking through
the git history to find it later on when it is time to re-implement
it :)

I've also commented out the "Learn more about wifi" and "use
bluetooth instead" buttons for now.
2014-10-22 18:01:24 +10:30
Peter Serwylo
80205e94fb Implemented client connection for swap.
Listen for a new intent, show a screen to the user mentioning
they are about to start a swap. Make FDroid receive repo intents,
then dispatch to relevant Activity.

Previously manage repo always got the intents. Now FDroid does, and
chooses whether to give to ManageRepos or Client connect.
Not sure if it is required to do it this way or not, but it seems to
work.

I had a bit of an issue getting the "Welcome to F-Droid" string to
fit on one line, because it was breaking on the hyphen. That is still
not resolved in this commit.

Still need to:
 * Show error messages instead of the "connect" description
 * Jar signing seems not to work when connecting to other repo.

In order to handle returning to F-Droid after connecting (or saying no)
I tagged the intent with a "handled" extra value. That way, I can ignore
trying to connect to a repo if we've already handled that event.

Finally, I also fixed an issue regarding downloading of signed
index.jar files with an uppercase fingerprint.
The fingerprint from the jar differed from that in the swap url,
in that one was upper case and the other was lower case.
This uses an .equalsIgnoreCase check instead. It also adds an
extra guard in case the repo doesn't have a fingerprint. Although
it may not even use the signed repo updater if both the pubkey
and fingerprint are null, it is nice to have the extra assurance.

Fixes issue #19.

I also left some more TODO's around. I should put them in issues,
but I'm in a bit of a hurry.
2014-10-22 18:01:24 +10:30
Peter Serwylo
e84e9c15e2 Support "back" button navigation during swap process. Start service at end of swap.
The back button will take you back through each step of the swap
process now, and remove the swap Activity completely if you press
back from the first screen. Also, when the WiFi QR code is shown,
the local repo manager actually starts the relevant service.
2014-10-22 18:01:24 +10:30
Peter Serwylo
6d807793c2 Moved code from LocalRepo to the Swap UI to reuse it.
Along with a bunch of networking stuff, a lot of UI to do with selecting
apps to swap was also moved. The background on the list is transparent,
which allows blue to shine through. Also, the text on the list items is
white, which will not work with a white background.

I've temporarily dropped support for searching this list too, until
I get some feedback from carrie et al.

NOTE: This stuff was written before hans fixed apcompat problems with
LocalRepoActivity, but then rebased over it later. As such, it doesn't
contain his fixes. Will need to do that before a stable release. i.e.
Still has a bit of a dependency on API 11 which needs to be resolved.
2014-10-22 18:01:24 +10:30
Peter Serwylo
ae9cb5b89b Beginnings of an implementation for Swap.
The Fragments and an Activity which tie all of the swap views together
has begun. The first bit of implementation is to get the current
wifi network displayed, which worked out alright.

This commit contains a lot of theme related stuff, particularly
involving taking assets from carries mockups and making them suitable
to use as drawables. The process for doing this is a story for another
day, but I'll document it and put it on the wiki in the future. carrie
showed me a script that a mate of hers used on another project, and
I've adapted it a little to make it work nicely here (note - it isn't
in this commit).

The button is blue, and always shown with associated text in the
ActionBar. This required a custom drawable which was set as the
background in the styles.xml.
2014-10-22 18:01:24 +10:30
Daniel Martí
10009dc1fe Bump to 0.76 2014-10-09 00:43:53 +02:00
Daniel Martí
669a7bc1cf Bump to 0.75 2014-10-03 22:36:23 +02:00
Daniel Martí
4f06d0081e Prepare for 0.74 2014-09-11 23:23:31 +02:00
Daniel Martí
6b12a006fb Prepare 0.73
0.72 had proguard issues and 0.71 had HTTPS issues.
2014-09-08 23:09:51 +02:00
Daniel Martí
ea6482b94b Merge branch 'master' of https://gitlab.com/rrieve/fdroidclient 2014-09-08 08:44:29 +02:00
Ron Rieve
04f7b4a5a9 Toast if there are no updates
When the user updates the repo and all packages are recent, the update dialog exited so fast, that some users might have thought that the repo didn't update. To notify them that no new updates were found, the user now gets a toast.
2014-09-08 00:43:52 +02:00
Daniel Martí
36ee32d82c Remove all string-array translations missing items 2014-09-07 20:41:11 +02:00
Daniel Martí
cd0617d0f6 Release 0.72 2014-09-05 21:24:17 +02:00
Daniel Martí
f60f2c160a Run fix-ellipsis.sh 2014-09-05 21:20:20 +02:00
Daniel Martí
78ed3cee96 Fix values dir name 2014-09-05 21:19:54 +02:00
F-Droid Translatebot
9384466c29 Translation updates 2014-09-05 19:31:27 +01:00
Ciaran Gultnieks
77419183ec Declarative dependencies for proxy settings too 2014-08-28 17:46:23 +01:00
Ciaran Gultnieks
b4d8ee08dc Specify preferences dependencies declaratively 2014-08-28 17:39:34 +01:00
Daniel Martí
916afe1627 Bump to 0.71 2014-08-05 23:57:37 +02:00
Daniel Martí
6b7df1e46e Run fix-ellipsis 2014-08-05 23:45:31 +02:00
F-Droid Translatebot
0c1420ab2e Translation updates 2014-08-05 22:43:01 +01:00
Hans-Christoph Steiner
bc5cf590c7 fix Compact Layout post appcompat
This restores the Compact Layout being smaller than the normal layout, and
properly centers the icon in both.  This stuff could use some refactoring
to work better with all the appcompat styles.

fixes #61 https://gitlab.com/fdroid/fdroidclient/issues/61
2014-07-30 00:07:02 -04:00
Hans-Christoph Steiner
be3f7900e8 rename default repo variables for clarity
default_repo_count is not used at all, and the numbering scheme is just a
vestige of that.  This switches all the variables to have clear names of
what they are representing.
2014-07-29 17:49:23 -04:00
Hans-Christoph Steiner
14824daa21 include Guardian Project official repo, disabled by default
This pre-configures the official Guardian Project repo to make it very easy
for people to use that repo without having to verify keys.

fixes #63 https://gitlab.com/fdroid/fdroidclient/issues/63
fixes #2604 https://dev.guardianproject.info/issues/2604
2014-07-29 17:49:23 -04:00
Hans-Christoph Steiner
92199f2f01 merge dimen.xml into dimens.xml (the standard name)
'dimen' resources go in dimens.xml, 'color' resources go into colors.xml,
etc. etc.
2014-07-15 12:28:41 -04:00
Hans-Christoph Steiner
0945661c9d ManageReposActivity: move as much out of the Fragment; use appcompat menu
Now that the Fragment is embedded in the Activity, and the menu has been
moved to the Activity in ActionBar style, most of the utility functions and
the Dialogs can be based out of the Activity, which is how they are
designed to work.  This makes things work a lot easier.

fixes #3 https://gitlab.com/fdroid/fdroidclient/issues/3
2014-07-15 12:28:40 -04:00
Hans-Christoph Steiner
cba8f3b68f convert main menu to appcompat ActionBar style
This allows the main menu to act like a proper ActionBar using appcompat.
It also allows for making the search happen live on the ListView, rather
than having to launch a separate Activity to show the results.
2014-07-15 12:28:40 -04:00
Hans-Christoph Steiner
b06792524e port everything to appcompat-v7 (#42, #51)
I went through all of the source code replacing anything that is now
possible using appcompat-v7.  appcompat-v7 is the official way to handle
backwards compatibility, and it is supported by Google and others. Using it
as much as possible should make the code more maintainable and readable by
others since they'll be used to seeing the appcompat-v7 patterns from other
projects.

fixes #51 https://gitlab.com/fdroid/fdroidclient/issues/51
fixes #42 https://gitlab.com/fdroid/fdroidclient/issues/42
2014-07-15 12:28:23 -04:00
Peter Serwylo
c6e86392ff Fix issue #51. Made SearchView stuff use appcompat-v7.
Previously, it was using the native android.widget.SearchView.
Now it uses the widget from appcompat. For good measure, I also
made it so that the search button is always in the action bar,
rather than being hidden behind a menu sometimes.
2014-07-06 01:11:14 +09:30
Daniel Martí
4e52611d36 Prepare for 0.70-test 2014-06-26 13:23:50 +02:00
Daniel Martí
72f238ac84 Remove useless LinearLayout that only holds a RelativeLayout 2014-06-26 13:22:05 +02:00
Daniel Martí
216acf5ae8 Run fix-ellipsis 2014-06-25 11:42:56 +02:00
Peter Serwylo
1d4581a78e Reverted layout of app details to what it was before. 2014-06-24 08:30:25 +09:30
F-Droid Translatebot
a030c25f4f Translation updates 2014-06-19 23:05:53 +01:00
Daniel Martí
98a333b7fa "Other" should be the last preferences category 2014-06-19 10:20:01 +02:00
Hans-Christoph Steiner
b7f0195234 add "HTTP Proxy" preference to support Tor, I2P, or any other proxy
This is the most basic support for channeling all downloads through Tor or
I2P.  This does not include Orbot integration, so the use will have to know
to start Orbot before using this.  I don't know anything about I2P.

closes #2367 https://dev.guardianproject.info/issues/2367
https://f-droid.org/repository/issues/?do=view_issue&issue=404
https://f-droid.org/repository/issues/?do=view_issue&issue=424
2014-06-05 17:23:44 -04:00
Peter Serwylo
208146882e Fixed light theme on API > 11
Forgot that it also needed to go in the values-v11 styles file.
2014-06-04 23:19:54 -04:00
Peter Serwylo
b82be525b9 Rotation of app details with fragments implemented.
This was a bit more complex than all the other views, because it supports
rotation, and different views for when it is rotated. The end result is
that the way in which the views were constructed needed to be completely
redone.

In the process, I also moved the layout of the app summary to a Relative
Layout. This adds more flexibility, and is also the suggested layout
for complex views (as apposed to nested linear layouts). I believe this
is due to the performance of relative vs linear layotus.

It was aprticularly hard to figure out what was going on
when rotating an Activity which had a list fragment
that had another fragment as a header. I don't think fragments
were designed to work like this, but I believe it is all working
as expected now.

Conflicts:
	src/org/fdroid/fdroid/Preferences.java
2014-06-04 23:19:54 -04:00
Peter Serwylo
659b46fd4e Fix to sdkLoc in build. Added light (without dark action bar) theme.
NOTE: I don't know how android will go with adding a new property
to a string-array resource, but not having it translated everywhere.
Will it struggle because the EN version has three values for "theme",
but other translations only have two?
2014-06-04 23:19:54 -04:00
Peter Serwylo
92421bac05 WIP: Migrating activities to appcompat-v7.
Conflicts:
	src/org/fdroid/fdroid/FDroidApp.java
	src/org/fdroid/fdroid/views/LocalRepoActivity.java
	src/org/fdroid/fdroid/views/QrWizardDownloadActivity.java
2014-06-03 08:13:53 +09:30
Daniel Martí
728d1467b9 Prepare for 0.69-test 2014-06-01 18:38:04 +02:00
Daniel Martí
bfb04648f8 Fix extra android namespaces in layout/about.xml 2014-05-27 17:59:19 +02:00
Daniel Martí
7351584697 Fix inconsistency in local_repo_https default state
+mvdan | _hc: you put https to default true in preferences.xml, but false in Preferences.java
   _hc | mvdan:  it should be off/false by default
2014-05-27 17:53:56 +02:00
Hans-Christoph Steiner
0c039a6b5e make writeIndexJar() call writeIndexXML(): only create signed repos!
There is no longer a reason to expose writeIndexXML() since FDroid should
always generate a signed repo.  So make writeIndexXML() be called as part
of writeIndexJar().
2014-05-25 22:53:19 -04:00
Hans-Christoph Steiner
b7339e9423 support HTTPS:// for local repo in a preference
Allow the local repo to use HTTPS:// instead of HTTP://.  This is currently
default off since handling the self-signed certificate is not currently
graceful.  In the future, the SPKI that AndroidPinning uses should be
included in the repo meta data, then when someone marks a repo as trusted,
that local repo's SPKI should be added to the list of trusted keys in
AndroidPinning.

fixes #2960 https://dev.guardianproject.info/issues/2960
2014-05-25 22:53:18 -04:00
Hans-Christoph Steiner
5f2efbb72a sign local repo based on key generated using spongycastle
This makes it so the local repo is always signed by a locally generated and
stored key.  That key will become the unique ID that represents a given
local repo.  It should seamlessly upgrade any existing unsigned local repo
next time that the user makes any changes to their local repo.

fixes #3380 https://dev.guardianproject.info/issues/3380
2014-05-25 22:53:18 -04:00
Hans-Christoph Steiner
146046a1ff add description of app to manifest for p2p users
The local repo generation code will take the description from the manifest
and include it in the repo meta data.  So FDroid itself should also include
this description.  Indeed every app should... perhaps this should also be
an `fdroid lint` item.
2014-05-20 18:44:47 -04:00
Hans-Christoph Steiner
f2994b0764 replace Android NSD browsing with jmdns
Android's NSD is only included in Android >= 16, and seems to be buggy. So
This replaces the NSD code entirely with jmdns, which works on all Android
versions.

fixes #2900 https://dev.guardianproject.info/issues/2900
fixes #3379 https://dev.guardianproject.info/issues/3379
2014-05-20 18:44:47 -04:00
Hans-Christoph Steiner
b5f7c0a481 preference for the "name" of the local repo
This name is used in the RepoList, the local repo website title, the
Bonjour broadcast, etc.  By default, a name is generated using the make and
model of the phone plus a random number.
2014-05-20 18:44:47 -04:00