1215 Commits

Author SHA1 Message Date
James Clark
09ccf3d428 Fix bug introduced in last commit 2014-04-10 04:14:55 +01:00
James Clark
87638363b3 Set listview to top item after category refresh 2014-04-10 03:45:17 +01:00
Peter Serwylo
d54dc0b7bb Merge branch 'master' into 'master'
fix two bugs

First bug is with lots of QR Code readers, they don't respect custom URI schemes like `fdroidrepo://` and just force all URIs to be `http://`.  A slight tweak makes it possible to use a QRCode to configure a repo using all of the major ones I could find (I tested with 8 different apps).

The second bug is a simple crasher bug.
2014-04-08 06:51:16 +00:00
Hans-Christoph Steiner
da329089fb add custom ant rules for downloading JUnit results 2014-04-08 00:16:03 -04:00
Hans-Christoph Steiner
c1d0ec43c3 fix crasher when hopping around apps and adding repos
I triggered this a few times while trying various QR Code scanning apps
with FDroid.

fixes #3222 https://dev.guardianproject.info/issues/3222
2014-04-07 21:39:50 -04:00
Hans-Christoph Steiner
407e7662e9 support QR scanners that do not respect custom URI schemes
Some QR Code scanners don't respect custom schemes like fdroidrepo://, so
this is a workaround, since the local repo URI is all uppercase in the QR
Code for sending the local repo to another device.  This way, the QR Code
can still be all uppercase and use HTTP:// and Android will still route it
to FDroid, but via the Just Once/Always chooser (fdroidrepo:// goes
directly to FDroid with no prompt, when it works)
2014-04-07 21:07:01 -04:00
Daniel Martí
a477f421cb Greatly improve app list layout
* Don't hard-code ellipsis in the code
* Separate the two rows into two linear layouts
* Don't abuse relative layouts
* Use ellipsize with weights to achieve best results
2014-04-07 19:35:04 +02:00
Daniel Martí
b731ab57b3 Release 0.63 0.63 2014-04-07 15:46:33 +02:00
Daniel Martí
ad9218d14c Fix some string formats and an ellipsis 2014-04-07 15:21:23 +02:00
F-Droid Translatebot
c717d919af Translation updates 2014-04-07 14:16:49 +01:00
Daniel Martí
34d7172ad6 Bump support lib from 19.0 to 19.1 2014-04-06 11:03:14 +02:00
Daniel Martí
d16c7fc95a Merge branch 'fix/multi-repo-updating-only-one-repo' into 'master'
Fix Multi Repo Updating Only One Repo

Java update logic has been moved to SQL, to prevent having to pull out apps fromt he database, and then iterate over them in Java.
2014-04-06 09:03:12 +00:00
Peter Serwylo
dcf3a9dae8 Fixed assumption that repo updates have all apps available.
Previously, I accidentally made the repo updater presume that it
had access to all apps in a big fat list. This meant that I was iterating
over that list, performing calculations, etc, rather than actually
querying the entire database.

The solution was to bundled all update-service related processing to one
process in AppProvider (I didn't want to have to pull every single app/apk
out of the database in order to perform the update, because that will become
more and more burdensom as the repo grows).

There is a method calcDetailsFromIndex() in the AppProvider.Helper class.
It now does three things:
 * updates compatibility flag.
 * updates suggested version (outstanding issue is documented in gitlab issue #1)
 * updates iconsUrl (fixed in this commit)

Icons from old repos will just have icons in an "icons" dir
in the same folder as the index.jar. New repos have density
specific icon dirs (e.g. "icons-240") which depend on the
device F-Droid is running on.
2014-04-06 12:34:47 +00:00
AlexanderR
04ea93cce8 Category list i18n 2014-04-05 17:08:29 +11:00
AlexanderR
c1daa99617 Use managedQuery to let Search Activity automatically dispose of it's Cursor.
Should be somehow done via Loaders someday.
2014-04-05 10:32:58 +11:00
AlexanderR
793bd618ac Fixed weird crash on emulator 2014-04-04 18:06:03 +11:00
F-Droid Translatebot
628d684ab9 Translation updates 2014-04-03 20:57:36 +01:00
Peter Serwylo
eded748ab8 Fixed the suggestedVersion calculation, now done via SQL.
The archive repo was getting updated after the regular repo.
In these situations, we didn't have every single app/apk in
memory in order to calculate the suggested version. As a
result, F-Droid ended up choosing a suggested version from
the archived versions, when terhere was actually a newer version
in the database.

This change does all of the calculations in two database queries
now. Although the implementation of the query is not hackey,
they way I get to the code in order to execute the query
is a bit hacky, so most of the implementation is private.
2014-04-03 00:32:56 +11:00
Peter Serwylo
e7eb3120cf Updated changelogs with (what is hopefully) a lay description of the ContentProvider changes. 2014-04-02 22:38:49 +11:00
Daniel Martí
8977ac6826 Prepare the changelog 0.62 2014-04-01 16:09:16 +02:00
Daniel Martí
f6cf7c9b0c Revert "Use a commit hash instead of 0.62 to test if repo works"
This reverts commit f0a40d8b6e1f165b75444353c8aac60c39c8ac68.
2014-04-01 16:06:01 +02:00
Daniel Martí
f0a40d8b6e Use a commit hash instead of 0.62 to test if repo works 2014-04-01 15:19:14 +02:00
Daniel Martí
edd2de49c3 Use HEAD instead of LAST_STABLE_TAG 2014-04-01 15:16:24 +02:00
Daniel Martí
232145eac1 Update repo snippet to latest version 2014-04-01 15:09:35 +02:00
Daniel Martí
44312bdb6c Bump version to 0.62 2014-04-01 14:40:27 +02:00
Daniel Martí
2ff0ae9550 Run translation scripts 2014-04-01 14:04:32 +02:00
Daniel Martí
6b08ab0e97 Place -hu arrays in the correct file 2014-04-01 14:02:26 +02:00
F-Droid Translatebot
4f0cba0c84 Translation updates 2014-04-01 12:16:44 +01:00
Ciaran Gultnieks
ce334e215d Add Hungarian translations by gidano 2014-04-01 11:57:10 +01:00
Peter Serwylo
5e0af1dc5b Merge branch 'feature/implement-app-removal-by-index' 2014-04-01 21:26:01 +11:00
Peter Serwylo
468b6717ee After downloading index, remove apks no longer in the index.
It adds an extra 600ms on my Nexus 4 with ~2000 apks from the
F-Droid index. But I think it is the only way, as we really need
to iterate over every single installed apk, to see if it is still
wanted. The up side is that we can query for a large amount of
them, rather than quering individually for each apk.

NOTE: I haven't added a new status message yet, because we are
about to do a stable release. After the stable release, I'll
add a new status message to cover for this > half a second
(on my relatively fast device). This will probably be part of
an overhaul of the update process in general, including a
proper progress dialog.
2014-04-01 21:19:27 +11:00
Daniel Martí
05d8e409c4 Remove TODO-before-release 2014-03-28 18:48:08 +01:00
Daniel Martí
abdd2fbb8e Bring back "Update repos" to the main menu
This can later be removed again if the user still has a way to easily update
repos manually without having to enter "Manage Repos" and exit again. A good
option would be a pull-to-refresh action.
2014-03-28 17:59:07 +01:00
Peter Serwylo
8efa9d609a Apps were not getting a current version when upstreamVersioncode not specified.
The problem was that they defaulted to 0 if not specified, however
the code checking for current version was looking for -1 for a "no upstream version".
2014-03-27 22:22:54 +11:00
Daniel Martí
ce3f210919 Run fix-ellipsis 2014-03-23 14:04:14 +01:00
Peter Serwylo
3ebad383d6 Refactored the recent MR for dynamicly adding default repos.
The idea was good: reduce the amount of copied/pasted code
where ContentValues were initialized, populated, then inserted.
I've kept the idea, by putting it in its own method which is
called twice. But the resources are not loaded dynamically any
more. This is so that the compiler will be able to pick up if
we reference a missing resource. Also, I took the opportunity
to replace the field name string literals with references to
RepoProvider.DataColumns.* constants.

Finally, changed the tests around because now we need to
have the "getInteger()" call mocked in resources correctly
(for priority/inUse).
2014-03-23 22:31:06 +11:00
Peter Serwylo
9703350f41 Update tab refreshes correctly now.
Before it was listening for changes, but we weren't notifying
of changes correctly. Now we use ContentResolver.notifyChange().
2014-03-23 21:20:03 +11:00
Peter Serwylo
bfdfb6d5ef Removed unused code from FDroidApp.
From before content providers, where we rolled our own update notification
system for when data changed in the database. I also removed the property
"ctx", because it is availble in getApplicationContext(). As a general rule,
it is usually safer to not use a member field if not neccesary. That way,
there doesn't need to be any assumptions about when it is set and what value
it has. In this case, it was only set half way through onCreate, and therefore
usage before then would break.
2014-03-23 21:20:03 +11:00
F-Droid Translatebot
3bfd5cbf0d Translation updates 2014-03-22 19:20:04 +00:00
Daniel Martí
db1adb327a Re-run fix-ellipsis 2014-03-22 13:27:16 +01:00
F-Droid Translatebot
7f315720ab Translation updates 2014-03-22 12:25:06 +00:00
Daniel Martí
53ac16fcee Run fix-ellipsis 2014-03-22 13:20:49 +01:00
Daniel Martí
19aa5eb7f7 Make fix-ellipsis remove weird spaces too 2014-03-22 13:20:36 +01:00
Daniel Martí
a6a133b885 Gradle: bump versions, cleanup 2014-03-22 13:10:46 +01:00
F-Droid Translatebot
ca2fe21beb Translation updates 2014-03-22 12:09:05 +00:00
Daniel Martí
361fbc83ba Re-organize default repos to separate and distinguish them 2014-03-22 11:24:44 +01:00
Daniel Martí
9f2de0abd7 Get rid of EXTRA_NOT_UNKNOWN_SOURCE target api warning 2014-03-22 11:22:03 +01:00
Daniel Martí
2cd17a904e Placed the TargetApis wrong 2014-03-22 11:18:42 +01:00
Daniel Martí
a1a8c06565 Start using contentDescription on ImageView elements 2014-03-22 11:12:42 +01:00
Daniel Martí
4f065492ef Unify the usage of cursors
Safer and less error-prone because:

* Always checks for null
* Checks for sizes
* Inits App/Apk lists at known capacity
* Properly closes all cursors

There are still one or two cursors that are not closed correctly and show
things like these:

W/CursorWrapperInner(19973): Cursor finalized without prior close()
2014-03-22 00:11:56 +01:00