Merge branch 'fp2-2343' into 'master'
FPII-2343: FP Updater: add URL parameters
Add Updater and baseband (FP2) version to updater.zip request.
Change-Id: I05a28cebdc5c9bf00f2e4920d3536c0a848a8f71
See merge request !29
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5240dbe..2e71e39 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,8 +2,8 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.fairphone.updater"
- android:versionCode="33"
- android:versionName="33" >
+ android:versionCode="34"
+ android:versionName="34" >
<uses-sdk
android:minSdkVersion="17"
@@ -94,4 +94,4 @@
</activity>
</application>
-</manifest>
\ No newline at end of file
+</manifest>
diff --git a/app/src/main/java/com/fairphone/updater/BetaEnabler.java b/app/src/main/java/com/fairphone/updater/BetaEnabler.java
index 806f60a..988c15b 100644
--- a/app/src/main/java/com/fairphone/updater/BetaEnabler.java
+++ b/app/src/main/java/com/fairphone/updater/BetaEnabler.java
@@ -14,7 +14,6 @@
public class BetaEnabler extends Activity {
- public static final String BETA_DISABLED = "0";
public static final String BETA_ENABLED = "1";
@Override
diff --git a/app/src/main/java/com/fairphone/updater/UpdaterService.java b/app/src/main/java/com/fairphone/updater/UpdaterService.java
index 378a41c..eb65cd7 100644
--- a/app/src/main/java/com/fairphone/updater/UpdaterService.java
+++ b/app/src/main/java/com/fairphone/updater/UpdaterService.java
@@ -327,9 +327,17 @@
if(modelWithoutSpaces.startsWith(context.getResources().getString(R.string.FP1Model))) {
sb.append("&b_n=").append(URLEncoder.encode(currentVersion.getBuildNumber(), defaultCharset));
}
- sb.append("&ota_v_n=").append(URLEncoder.encode(String.valueOf(currentVersion.getId()), defaultCharset));
- sb.append("&beta=").append(FairphoneUpdater.BETA_MODE_ENABLED ? BetaEnabler.BETA_ENABLED : BetaEnabler.BETA_DISABLED);
- sb.append("&dev=").append(FairphoneUpdater.DEV_MODE_ENABLED ? "1" : "0");
+ sb.append("&ap=").append(URLEncoder.encode(String.valueOf(currentVersion.getId()), defaultCharset));
+ if(modelWithoutSpaces.equals(context.getResources().getString(R.string.FP2Model))) {
+ sb.append("&bp=").append(URLEncoder.encode(String.valueOf(currentVersion.getBasebandVersion()), defaultCharset));
+ }
+ sb.append("&u=").append(URLEncoder.encode(String.valueOf(Utils.getVersionCode(context.getApplicationContext())), defaultCharset));
+ if(FairphoneUpdater.BETA_MODE_ENABLED) {
+ sb.append("&beta=").append(BetaEnabler.BETA_ENABLED);
+ }
+ if(FairphoneUpdater.DEV_MODE_ENABLED) {
+ sb.append("&dev=").append("1");
+ }
} catch (UnsupportedEncodingException e) {
Log.e(TAG, "Failed to add extra info on update request: "+e.getLocalizedMessage());
}
diff --git a/app/src/main/java/com/fairphone/updater/data/Version.java b/app/src/main/java/com/fairphone/updater/data/Version.java
index 2a206a0..1eab656 100644
--- a/app/src/main/java/com/fairphone/updater/data/Version.java
+++ b/app/src/main/java/com/fairphone/updater/data/Version.java
@@ -45,6 +45,8 @@
private final List<Integer> mDependencies;
+ private String mBasebandVersion;
+
public Version()
{
super();
@@ -52,6 +54,7 @@
mAndroidVersion = "";
mImageType = IMAGE_TYPE_FAIRPHONE;
mErasePartitionsWarning = false;
+ mBasebandVersion = "";
}
public Version(Version other)
@@ -61,6 +64,7 @@
mAndroidVersion = other.mAndroidVersion;
mImageType = other.mImageType;
mErasePartitionsWarning = other.hasEraseAllPartitionWarning();
+ mBasebandVersion = other.mBasebandVersion;
}
public void setEraseAllPartitionWarning()
@@ -110,6 +114,14 @@
return description;
}
+ public String getBasebandVersion() {
+ return mBasebandVersion;
+ }
+
+ public void setBasebandVersion(String basebandVersion) {
+ this.mBasebandVersion = basebandVersion;
+ }
+
// --Commented out by Inspection START (06/02/2015 12:25):
// public String getAndroidVersion(Resources resources)
// {
diff --git a/app/src/main/java/com/fairphone/updater/data/VersionParserHelper.java b/app/src/main/java/com/fairphone/updater/data/VersionParserHelper.java
index 5334b7f..0511763 100644
--- a/app/src/main/java/com/fairphone/updater/data/VersionParserHelper.java
+++ b/app/src/main/java/com/fairphone/updater/data/VersionParserHelper.java
@@ -27,7 +27,7 @@
private static final String CURRENT_VERSION_BUILD_NUMBER = "fairphone.ota.build_number";
private static final String CURRENT_VERSION_IMAGE_TYPE = "fairphone.ota.image_type";
private static final String CURRENT_VERSION_ID = "ro.build.version.incremental"; // for FP2
-
+ private static final String CURRENT_VERSION_BASEBAND_VERSION = "gsm.version.baseband";
private static Version version;
public static Version getDeviceVersion(Context context)
@@ -52,6 +52,7 @@
}
versionBuilder.setName(versionBuilder.getCurrentImageType());
versionBuilder.setBuildNumber(versionBuilder.getBuildNumberFromId());
+ versionBuilder.setBasebandVersion(getSystemData(context, CURRENT_VERSION_BASEBAND_VERSION, knownFPDevice));
} else {
// FP1(U)
try
@@ -96,6 +97,9 @@
case CURRENT_VERSION_ID:
result = Utils.getprop(CURRENT_VERSION_ID, useDefaults ? "" : ""); // TODO: define default value for fingerprint
break;
+ case CURRENT_VERSION_BASEBAND_VERSION:
+ result = Utils.getprop(CURRENT_VERSION_BASEBAND_VERSION, useDefaults ? "" : ""); // TODO: define default value for baseband version
+ break;
default:
result = "";
break;
diff --git a/app/src/main/java/com/fairphone/updater/tools/Utils.java b/app/src/main/java/com/fairphone/updater/tools/Utils.java
index c8b3930..cd757dc 100644
--- a/app/src/main/java/com/fairphone/updater/tools/Utils.java
+++ b/app/src/main/java/com/fairphone/updater/tools/Utils.java
@@ -24,6 +24,7 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
+import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.database.Cursor;
import android.net.ConnectivityManager;
@@ -692,4 +693,19 @@
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 100, pendingIntent);
System.exit(0);
}
+
+ public static int getVersionCode(Context context) {
+ PackageManager packageManager = context.getPackageManager();
+ String packageName = context.getPackageName();
+
+ int versionCode = 0;
+
+ try {
+ versionCode = packageManager.getPackageInfo(packageName, 0).versionCode;
+ } catch (PackageManager.NameNotFoundException e) {
+ Log.e(TAG, "App versionCode cannot be retrieved", e);
+ }
+
+ return versionCode;
+ }
}