1215 Commits

Author SHA1 Message Date
Peter Serwylo
141f133c7a Merge branch 'fix/count-apps-in-repo' 2014-02-24 11:06:57 +11:00
Peter Serwylo
45d046b445 Fix unique key violation in update service.
When two repos both add an apk with same version and id, then
it would break.
2014-02-24 11:01:56 +11:00
Peter Serwylo
87f2da7e2f Fix 'Number of apps' sql exception in repo details. 2014-02-24 10:45:25 +11:00
Peter Serwylo
568224ba78 s/curVersion/upstreamVersion/g, added suggestedVersion. Refactored QueryBuilder.
In order to support suggested version, I didn't want to have both
suggested version + versionCode in the App table. Rather, just the
code, and then use that (and the apps id) to join onto the apk table.
This is something we wanted to do elsewhere, so I refactored the
QueryBuilder class from the ApkProvider so that it can also be used
by the AppProvider.
db-version/41
2014-02-24 10:45:13 +11:00
Daniel Martí
955c2f5f6c Bump build-tools to 19.0.2 2014-02-23 12:22:04 +01:00
Daniel Martí
31aa3fcf30 Make titles and subtitles align properly in RTL
This is just a cosmetic fix to make the RTL layout look like the normal LTR
one. It is, effectively, making non-RTL text be aligned to the right. I
suppose that's fine, for the sake of making it readable since we don't want it
aligned to the left, breaking the layout.
2014-02-21 00:32:17 +01:00
Daniel Martí
8b823cdf59 Update changelog 2014-02-21 00:21:17 +01:00
Daniel Martí
f5c4018fee Merge branch 'rtl-layout' 2014-02-21 00:19:57 +01:00
Daniel Martí
57b2bc431e Merge branch 'rtl-layout' of gitorious.org:f-droid/fdroidclient into rtl-layout 2014-02-21 00:13:14 +01:00
Daniel Martí
2a03c51207 Use LayoutCompat in RepoAdapter 2014-02-21 00:11:58 +01:00
Daniel Martí
5d0074d821 Add ALIGN_PARENT_* to LayoutCompat.RelativeLayout 2014-02-21 00:11:58 +01:00
Daniel Martí
0fba2c255e Add START_OF to LayoutCompat.RelativeLayout 2014-02-21 00:11:58 +01:00
Daniel Martí
66563d30d9 First attempt at supporting RTL
Following the Android 4.2 changes, which explain how to add native support for
RTL, I've replaced Right for End and Left for Start. Enabling RTL to see the
results.
2014-02-21 00:11:58 +01:00
Daniel Martí
a3024bc837 Don't crash RepoDetailsFragment if nfc is not available 2014-02-21 00:10:52 +01:00
Daniel Martí
16c34a95d3 First attempt at supporting RTL
Following the Android 4.2 changes, which explain how to add native support for
RTL, I've replaced Right for End and Left for Start. Enabling RTL to see the
results.
2014-02-20 14:15:50 +01:00
Daniel Martí
44bb904ab0 Remove obsolete dbSyncModeValues array 2014-02-20 13:57:59 +01:00
Daniel Martí
93ea5ea9fb Try to get grade working again
Now it fails because it thinks that ":extern" is a subproject
2014-02-20 09:55:54 +01:00
Daniel Martí
28d5456e72 Update submodules 2014-02-20 09:32:43 +01:00
Daniel Martí
2c9d8ab7fc Merge commit 'refs/merge-requests/66' of gitorious.org:f-droid/fdroidclient
Conflicts:
	test/src/org/fdroid/fdroid/ApkProviderTest.java
2014-02-20 08:00:12 +01:00
Peter Serwylo
2dcd87cd41 Almost 100% test coverage of ApkProvider and ApkProvider.Helper
Removed unused code from ApkProvider.Helper, made it throw proper
exceptions when trying unsupported operations. Refactored tests
a little bit to facilitate separate test cases for the provider
and its helper.
2014-02-20 16:13:37 +11:00
Peter Serwylo
51a2159559 Removed maxage issue from TODO 2014-02-20 16:01:27 +11:00
Peter Serwylo
3240faf7f2 Fix "duplicate column: maxage" (issue #445)
The bug is explained in detail in the issue tracker.
This change added guard condition to check for existence of the field
before adding.

While I was at it, I also guarded a bunch of other ALTER statements
with the if (!columnExists()) check. It turns out that many of them
break, but we only saw the first one because it threw an exception
before getting to the others.
2014-02-20 15:55:29 +11:00
Hans-Christoph Steiner
576208d3aa Exception subclasses are supposed to have a serial number
This warning in Eclipse tells me so:

"The serializable class UpdateException does not declare a static final
serialVersionUID field of type long"
2014-02-19 20:11:30 -05:00
Hans-Christoph Steiner
27874b3a9e parameterize CategoryObserver.adapter
Helps Java do its error checking... and gets rid of a few warnings...
2014-02-19 20:06:17 -05:00
Hans-Christoph Steiner
dd3562c00f remove unnecessary cast
This is pretty cosmetic, but Eclipse did it for me, so why not? :-)
2014-02-19 20:06:17 -05:00
Hans-Christoph Steiner
888d28aed6 @Override decorator on every method that overrides
This marks a method as overriding another method, and makes sure that it
matches the signature of the method it is supposed to be overriding,
otherwise it gives a warning.

Its a bit verbose, but can catch mistakes and save time. And the default
Android profile for Eclipse always adds them automatically...
2014-02-19 20:06:05 -05:00
Hans-Christoph Steiner
301ac10515 remove trailing white space... 2014-02-19 19:59:31 -05:00
Hans-Christoph Steiner
3a0d40d86d remove all unused variables
This reduces the number of warnings so that we can see the useful ones!
2014-02-19 19:53:38 -05:00
Hans-Christoph Steiner
5d828e2341 remove all unused imports
This reduces the number of warnings so that we can see the useful ones!
2014-02-19 19:52:36 -05:00
Daniel Martí
8f506c0b0b Add maxage issue to TODO 2014-02-20 00:25:14 +01:00
Daniel Martí
231fb3dd8a Merge commit 'refs/merge-requests/65' of gitorious.org:f-droid/fdroidclient
Conflicts:
	src/org/fdroid/fdroid/views/fragments/RepoListFragment.java
2014-02-19 23:12:19 +01:00
Hans-Christoph Steiner
c7a40e9fa6 purge old, unused repo list XML layout
Its all done using getListView() in the ListFragment now :-)
2014-02-20 08:59:42 +11:00
Hans-Christoph Steiner
94fb0c8a02 prevent crash when clicking on the header in "Repositories" view
Here's the crash dump:

java.lang.NullPointerException
at org.fdroid.fdroid.data.ValueObject.checkCursorPosition(ValueObject.java:13)
at org.fdroid.fdroid.data.Repo.<init>(Repo.java:37)
at org.fdroid.fdroid.views.fragments.RepoListFragment.onListItemClick(RepoListFragment.java:269)
at android.support.v4.app.ListFragment$2.onItemClick(ListFragment.java:58)
at android.widget.AdapterView.performItemClick(AdapterView.java:299)
at android.widget.AbsListView.performItemClick(AbsListView.java:1113)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:2904)
at android.widget.AbsListView$3.run(AbsListView.java:3638)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
2014-02-20 08:58:58 +11:00
Peter Serwylo
4d5fd98ae5 Fixed two NPE.
Categories can technically be null, so need to guard for that
when getting them from the ContentProvider. This occurred because
I had an old index from before the change from "category" to
"categories", so it indeed was null.

The other one was from when I added a new repo without a fingerprint.
The fingerprint gets changed to upper case, but if null, causes
a NPE.
2014-02-20 08:55:44 +11:00
Daniel McCarney
3223e20e33 Add support for Network Service Discovery of FDroid repos.
If the device supports API level 16 (Android 4.1) then add a menu item
on the repository management screen to "Find Local Repos". Activating
this menu item will initiate NSD service discovery with the NsdHelper
class looking for 'fdroidrepo' and 'fdroidrepos' service types on the
local network. When one is found, the service is resolved and the name
& IP are populated into a list of discovered repositories. Clicking an
NSD discovered repo will prompt the user to add the repo.
2014-02-19 15:32:44 -05:00
Daniel Martí
8bb0e58e6c Update changelog and todo 2014-02-19 18:23:31 +01:00
Daniel Martí
e6ec5ee242 Add support for filtering apk compatibility by maxSdkVersion
For now it's enforced like minSdkVersion. It is possible to try and install
incompatible apks by enabling "Incompatible Versions" and agreeing to the
warning shown when clicking on such a version.
db-version/40
2014-02-19 18:11:32 +01:00
Daniel Martí
dc1bdc2f3b Make the incompatible reasons textview stand out
In other words, don't disable the view with the others when marking an apk as
incompatible
2014-02-19 18:07:34 +01:00
Hans-Christoph Steiner
a4de616b7a make ApkProvider.Helper take Context rather than ContentResolver
This makes the code a bit neater, and passing the Context around is a
common pattern.

https://dev.guardianproject.info/issues/2926
refs #2926
2014-02-18 19:04:05 -05:00
Hans-Christoph Steiner
ab6166c36d make RepoProvider.Helper take Context rather than ContentResolver
This makes the code a bit neater, and passing the Context around is a
common pattern.

https://dev.guardianproject.info/issues/2926
refs #2926
2014-02-18 19:04:05 -05:00
Hans-Christoph Steiner
a8bf9f7614 point Eclipse to new location for UniversalImageLoader submodule 2014-02-18 19:04:05 -05:00
Hans-Christoph Steiner
09f3e8b004 forgot to include the .project Eclipse file for the test project
Include the reusable Eclipse files (.project and .classpath).
2014-02-18 19:04:05 -05:00
Daniel Martí
334ba0b956 Remove TODO bluetooth item
After discussing it with Hans, the two points that I stated here are not
correct.
2014-02-19 00:22:46 +01:00
Daniel Martí
226003d38d Git automatic indenting fix 2014-02-19 00:19:05 +01:00
Peter Serwylo
5877af55ae Merge branch 'master' into improvements/apk-tests
Conflicts:
	test/src/org/fdroid/fdroid/AppProviderTest.java
2014-02-19 09:38:40 +11:00
Peter Serwylo
a797e43178 Test apk insert more comprehensivly. 2014-02-19 09:32:54 +11:00
Peter Serwylo
4860e06af3 Improved apk tests (test deleting). 2014-02-19 08:12:21 +11:00
Daniel Martí
4b4ee4b6db Update MTM module, now supports gradle 2014-02-18 11:26:15 +01:00
Peter Serwylo
68a719f48a Don't overwrite "ignore updates" settings on update.
For now, the UpdateService ignores these fields when updating from
the index. There is no time that the index should specify what
versions to be ignored.

In the future, this will be done with a join table that stores
info about what to ignore. Another future improvement should also be
to make "App.toContentValues()" smarter. That is, make it only return
values which have been set since the object was created. However this
will add an overhead which may or may not be noticable.
2014-02-18 08:11:02 +11:00
Peter Serwylo
85f3232de0 Started implementing ApkProvider tests.
Refactored a couple of common things from AppProviderTest to either
FDroidProviderTest (baseclass) or TestUtils (static methods) where
relevant.
2014-02-18 02:52:02 +11:00