1436 Commits

Author SHA1 Message Date
Daniel Martí
f4539b3803 Add icons item to changelog 2014-04-29 20:09:52 +02:00
Daniel Martí
88285b0a6b Fix: Don't always use /icons/ due to wrong SQL param order 2014-04-29 20:06:56 +02:00
Daniel Martí
7a16bf4ce5 Fix broadcast receiving of package updates
* It is PACKAGE_REPLACED, not PACKAGE_CHANGED:
  http://developer.android.com/reference/android/content/Intent.html#ACTION_PACKAGE_CHANGED

* REMOVED and then ADDED are fired as well as REPLACED when upgrading an
  application:
  http://stackoverflow.com/questions/5217237/package-removed-then-package-added-are-fired-along-with-package-replaced-inten
2014-04-29 18:18:38 +02:00
Daniel Martí
55acd955b9 Prepare for 0.65 release 0.65 2014-04-29 11:55:29 +02:00
Daniel Martí
af2515bbf6 Run tools/repo-revisions.sh 2014-04-29 11:31:07 +02:00
Daniel Martí
f374fbbeb0 Re-run translate fixes 2014-04-29 11:30:22 +02:00
Peter Serwylo
0e64736db4 Merge branch 'master' into 'master'
security updates for added repos

These commits fix a couple of security issues with adding repos, they should be included in the 0.65 release.  Here is the bug report from Adam Pritchard, these issues should be fixed:

2.

But wait, you say? Where's the "EF" at the start? F-Droid actually shows
(and takes) a version of the fingerprint with the first byte (first two
hex) dropped. Bwah?

You can see this with Guardian's fingerprint here:
https://guardianproject.info/2012/03/15/our-new-f-droid-app-repository/
len('050C8155DCA377F23D5A15B77D3713400CDBD8B42FBFBE0E3F38096E68CECE') / 2 *
8 == 248
...But it should be 256.

On purpose?

3.

And it seems like there's a bug in F-Droid. If you enter the fingerprint
when adding the repo, the repo gets flagged with "Unsigned", but if you add
the repo without entering the fingerprint it doesn't.

Reproduction:

- Add https://guardianproject.info/repo/ and enter
050C8155DCA377F23D5A15B77D3713400CDBD8B42FBFBE0E3F38096E68CECE
- Refresh
- It's say "Unsigned" in red text under the repo name
- Delete the repo
- Add it again, but without the fingerprint
- It won't have any red text

This is surely unintended?
2014-04-29 00:26:55 +00:00
Dominik Schürmann
fb1e19e510 Merge branch 'super-fdroid' of gitlab.com:fdroid/fdroidclient into super-fdroid 2014-04-28 18:46:44 +02:00
Dominik Schürmann
033db01b9a Information about system permissions 2014-04-28 18:45:04 +02:00
Hans-Christoph Steiner
527f649fc2 move getSharingUri() to Utils for easier reuse
This method will also be used by the local repo for swapping.
2014-04-28 11:59:36 -04:00
Hans-Christoph Steiner
1018cad3b4 Utils tests: formatFingerprint() and calcFingerprint(String)
Prevent another stupid bug like what is fixed by commit
5ff177cd1884ed61def491a813363f96c5de628a

refs #2959 https://dev.guardianproject.info/issues/2959
2014-04-28 11:59:36 -04:00
Hans-Christoph Steiner
4dc2c60863 add more checks on fingerprints fed to Utils.formatFingerprint()
This is the gateway to the user, so this should present trusted info!
2014-04-28 11:59:36 -04:00
Hans-Christoph Steiner
cce393de09 "unverified" repo state for repos w/ fingerprints but not yet pubkeys
If a repo was configured with a fingerprint, but it has not yet updated and
gotten the pubkey from the index.jar, then it will be in an "unverified"
state, i.e. the signing key fingerprint is stored, but it has not yet been
used to check against the pubkey in the index.jar
2014-04-28 11:59:36 -04:00
Hans-Christoph Steiner
a0970d0720 when adding a repo with fingerprint, make sure to store the pubkey
The logic here is crufty, so I slapped a flag in there to make sure that
the pubkey gets stored when someone configures a repo and includes the
fingerprint.  When the fingerprint is set, it will first download the
index.jar and verify it against that fingerprint.  The logic for storing
the pubkey permanently happens later in the XML parsing, so there needs to
be a flag to signal to store the pubkey in this case.

Before the flow was always index.xml -> get pubkey -> index.jar.  Really,
there should no longer be support for unsigned repos, then all of this
stuff can be dramatically simplified.

fixes #2924 https://dev.guardianproject.info/issues/2924
refs #2960 https://dev.guardianproject.info/issues/2960
2014-04-28 11:59:36 -04:00
Hans-Christoph Steiner
649bfa10b7 fix silly bug in signing key fingerprint calculation for display
This was causing the first byte of the signature to be chopped off, so
therefore it would not validate since the fingerprint of the cert from
the net connection had the right fingerprint, but it was compared to the
stored, truncated version.

This also means that the database version needs to be bumped to trigger an
upgrade so that the bad 62 char fingerprints are removed from the database.
db-version/44
2014-04-28 11:59:36 -04:00
Hans-Christoph Steiner
aa1b9e6696 allow incoming repos via Intent when on ManageRepo view
Since before, incoming repo Intents where handled in the Fragment's
onCreate(), an Intent that was received while the Fragment was visible was
just ignored.  Activities have onNewIntent() for that, but Fragments don't
so the repo Intent handling had to be moved to the ManageRepo Activity.
That makes for a more direct relationship anyway, since ManageRepo is what
is configured as receiving all those Intents in AndroidManifest.xml.
2014-04-28 11:59:36 -04:00
Daniel Martí
7d3723fe69 Remove EXTRA_NOT_UNKNOWN_SOURCE from DefaultInstaller
Doesn't work because:
* In this installer, we are not a system app
* Our intent action is of type ACTION_VIEW, not ACTION_INSTALL_PACKAGE

The equivalent of "we are not an unknown source" would be the other
installers, such as the Root and System ones.
2014-04-28 17:43:33 +02:00
F-Droid Translatebot
625bdcebba Translation updates 2014-04-28 07:56:28 +01:00
Dominik Schürmann
53d9a15d11 Fix comment in CanUpdateAppsFragment 2014-04-27 22:30:49 +02:00
Dominik Schürmann
d7203535e7 Add update all button (no functionality yet) 2014-04-27 22:22:21 +02:00
Dominik Schürmann
b3ca915459 RootInstaller: multiple apks 2014-04-27 21:40:22 +02:00
Dominik Schürmann
588e22462b Merge branch 'master' into super-fdroid 2014-04-27 20:52:58 +02:00
Dominik Schürmann
2399f954ed Installer: Starting with better error handling, new callback design 2014-04-27 20:42:45 +02:00
Daniel Martí
e80b1e03ac AP moved to gitlab + build.gradle typo fix 2014-04-27 20:36:55 +02:00
Dominik Schürmann
fbc47c1428 Show dialog if root access was denied 2014-04-27 20:11:36 +02:00
Dominik Schürmann
36b269cd19 Clarify comment in prefs 2014-04-27 20:02:03 +02:00
Dominik Schürmann
c4e7e617b2 Add root access preference 2014-04-27 19:59:28 +02:00
Dominik Schürmann
7ed69c93fc Installation/Delete with root shell, add preference for root access, fixes to Installer classes 2014-04-27 18:56:47 +02:00
Dominik Schürmann
8f08289822 AndroidManifest: Add superuser permission, cleanup 2014-04-26 13:43:51 +02:00
Dominik Schürmann
732fb87944 Add libsuperuser as external git submodule and project dependency 2014-04-26 02:40:08 +02:00
Dominik Schürmann
7451f00534 Refactoring old code using an abstract class 2014-04-26 02:01:26 +02:00
Daniel Martí
07b79c1e06 Slightly better wording in the README. ant-prepare success prints. 2014-04-26 01:08:01 +02:00
Peter Serwylo
cfcdfebe4e Fixed typo in README troubleshooting. 2014-04-26 07:57:14 +09:30
Peter Serwylo
4d1def468f Added build troubleshooting to README (Issue #17) 2014-04-26 07:52:18 +09:30
Daniel Martí
1f154adf42 Merge branch 'master' into super-fdroid
Conflicts:
	AndroidManifest.xml
	lint.xml
	src/org/fdroid/fdroid/AppDetails.java
2014-04-25 20:20:43 +02:00
Peter Serwylo
d287dca854 Refactored SearchView into Activity + ListFragment (Fixes #11)
This allowed for the use of LoaderCallbacks which seem like a better
way at managing the lifecycle of the cursors which our ContentProviders
return.
2014-04-25 18:21:49 +09:30
Daniel Martí
3345a81077 Re-run fix-ellipsis 2014-04-25 10:23:23 +02:00
Daniel Martí
9bd33003a0 Add a script to fix format problems automatically 2014-04-25 10:22:42 +02:00
F-Droid Translatebot
82b188a2ac Translation updates 2014-04-24 21:26:43 +01:00
Peter Serwylo
71db322b6d Don't implement 'update' for installed apps, use replace (Fixes #14)
There were some weird edge cases that couldn't quite be pinned down,
whereby installing an app would result in a unique key violation being
hit. One example was when somebody was installing an apk from a file
manager. It seems that this doesn't trigger a PACKAGE_CHANGED, but
rather a PACKAGE_INSTALLED. The end result is that it attempts to insert
a record that already exists in the installed apps table. Because we
have a unique key constraing on the appId, it breaks.

This commit changes the way that we insert installed app details.
Instead of inserting some times, and updating other times, we always
insert. If we hit a unique key violation, the row is deleted, and then
the new values are reinserted.
2014-04-24 13:07:16 +09:30
Daniel Martí
d573bac5b0 Add the sharing feature by Hans to the changelog 2014-04-23 18:05:23 +02:00
Peter Serwylo
e3e726e56c Merge branch 'master' into 'master'
send any installed app via NFC/Beam or Bluetooth

Building upon the NFC+Bluetooth sending of the FDroid.apk, these two commits allow the user to send any installed app via Bluetooth or NFC/Android Beam.
2014-04-22 15:28:29 +00:00
Hans-Christoph Steiner
4a55cdf938 option to send via bluetooth any installed app on the AppDetails page
This takes the code used for sending the FDroid.apk and applies it to any
installed app.  So the user can go to the AppDetails for any installed app
and select "Send via Bluetooth" from the menu, and send the app to another
phone.
2014-04-22 11:09:49 -04:00
Hans-Christoph Steiner
0db711c08d enable sending installed APKs via NFC/Android Beam on AppDetails
If you are viewing the AppDetails screen for an installed app, this code
configures Android Beam to send the APK for that installed app if the you
initiate via NFC.

Also move the SDK checks into each method so that they are easier to use
without doing the wrong thing.
2014-04-22 11:09:49 -04:00
Hans-Christoph Steiner
52e0f373af stay in FDroid after adding a new repo via Intent
If a new repo comes in via Intent, like from clicking a link, scanning a QR
Code, etc., then stay in FDroid once the add dialog is complete.
Previously, it would sometimes stay in FDroid and sometimes go back to the
sending Activity, depending on the sending Activity.  It was confusing and
annoying behavior.
2014-04-22 10:29:09 -04:00
Peter Serwylo
fe41133d2b Modified changelog details for 'installed app cache'
Made the description a little more appropriate for lay people, rather than
developers.
2014-04-21 09:20:31 +00:00
Daniel Martí
4b3b392c01 Prepare for 0.64-test 0.64-test 2014-04-20 14:32:05 +02:00
Daniel Martí
c5a1fd9b1c Some translation fixes 2014-04-20 14:24:07 +02:00
F-Droid Translatebot
f93c8151fe Translation updates 2014-04-20 12:40:49 +01:00
Daniel Martí
87775be76c Update UIL, adapt to the changes 2014-04-20 12:51:50 +02:00