From 15904928aed71df48644682839145f641d273b3f Mon Sep 17 00:00:00 2001 From: Ciaran Gultnieks Date: Thu, 12 Jan 2012 17:30:51 +0000 Subject: [PATCH] Send client version when requesting index.jar This will allow us to deal with future incompatibilities if necessary, and also to determine how far back we need to support. --- src/org/fdroid/fdroid/FDroid.java | 3 +-- src/org/fdroid/fdroid/RepoXMLHandler.java | 14 +++++++++++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/org/fdroid/fdroid/FDroid.java b/src/org/fdroid/fdroid/FDroid.java index 2d09cf5dc..e6493b736 100644 --- a/src/org/fdroid/fdroid/FDroid.java +++ b/src/org/fdroid/fdroid/FDroid.java @@ -193,9 +193,8 @@ public class FDroid extends TabActivity implements OnItemClickListener, OnItemSe // Fill in the version... TextView tv = (TextView) view.findViewById(R.id.version); PackageManager pm = getPackageManager(); - PackageInfo pi; try { - pi = pm.getPackageInfo( + PackageInfo pi = pm.getPackageInfo( getApplicationContext().getPackageName(), 0); tv.setText(pi.versionName); } catch (Exception e) { diff --git a/src/org/fdroid/fdroid/RepoXMLHandler.java b/src/org/fdroid/fdroid/RepoXMLHandler.java index adc79082c..4c0d0d161 100644 --- a/src/org/fdroid/fdroid/RepoXMLHandler.java +++ b/src/org/fdroid/fdroid/RepoXMLHandler.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010 Ciaran Gultnieks, ciaran@ciarang.com + * Copyright (C) 2010-12 Ciaran Gultnieks, ciaran@ciarang.com * Copyright (C) 2009 Roberto Jacinto, roberto.jacinto@caixamagica.pt * * This program is free software; you can redistribute it and/or @@ -45,6 +45,8 @@ import org.xml.sax.XMLReader; import org.xml.sax.helpers.DefaultHandler; import android.content.Context; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; import android.util.Log; public class RepoXMLHandler extends DefaultHandler { @@ -270,8 +272,14 @@ public class RepoXMLHandler extends DefaultHandler { // check the signature, and extract the index... Log.d("FDroid", "Getting signed index from " + repo.address); - getRemoteFile(ctx, repo.address + "/index.jar", - "tempindex.jar"); + String address = repo.address + "/index.jar"; + PackageManager pm = ctx.getPackageManager(); + try { + PackageInfo pi = pm.getPackageInfo(ctx.getPackageName(), 0); + address += "?" + pi.versionName; + } catch (Exception e) { + } + getRemoteFile(ctx, address, "tempindex.jar"); String jarpath = ctx.getFilesDir() + "/tempindex.jar"; JarFile jar; JarEntry je;