add extra info to update request [fixes FP-156]
diff --git a/src/com/fairphone/updater/FairphoneUpdater.java b/src/com/fairphone/updater/FairphoneUpdater.java
index 5d8fd85..57bad44 100644
--- a/src/com/fairphone/updater/FairphoneUpdater.java
+++ b/src/com/fairphone/updater/FairphoneUpdater.java
@@ -283,7 +283,7 @@
Fragment fragment = getTopFragment();
if (fragment != null && fragment instanceof DownloadAndRestartFragment && !getCurrentUpdaterState().equals(UpdaterState.NORMAL))
{
- ((DownloadAndRestartFragment) fragment).abortUpdateProccess();
+ ((DownloadAndRestartFragment) fragment).abortUpdateProcess();
}
else if (fragment != null && fragment instanceof MainFragment)
{
diff --git a/src/com/fairphone/updater/UpdaterService.java b/src/com/fairphone/updater/UpdaterService.java
index 1520a61..8ac3769 100644
--- a/src/com/fairphone/updater/UpdaterService.java
+++ b/src/com/fairphone/updater/UpdaterService.java
@@ -18,6 +18,10 @@
import java.io.File;
import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.nio.charset.Charset;
+
import android.app.DownloadManager;
import android.app.DownloadManager.Request;
import android.app.Notification;
@@ -44,6 +48,7 @@
import android.support.v4.app.NotificationCompat;
import android.util.Log;
import android.widget.Toast;
+
import java.util.concurrent.TimeoutException;
import com.fairphone.updater.data.Version;
@@ -56,6 +61,7 @@
import com.stericson.RootTools.execution.CommandCapture;
import com.stericson.RootTools.execution.Shell;
+
public class UpdaterService extends Service
{
@@ -291,8 +297,15 @@
if (currentVersion != null)
{
- sb.append("&");
- sb.append("os=" + currentVersion.getAndroidVersion());
+ try {
+ final String defaultCharset = Charset.defaultCharset().displayName();
+ sb.append("&os=" + URLEncoder.encode(currentVersion.getAndroidVersion(), defaultCharset));
+ sb.append("&b_n=" + URLEncoder.encode(currentVersion.getBuildNumber(), defaultCharset));
+ sb.append("&ota_v_n=" + URLEncoder.encode(String.valueOf(currentVersion.getNumber()), defaultCharset));
+ sb.append("&d=" + URLEncoder.encode(currentVersion.getReleaseDate(), defaultCharset));
+ } catch (UnsupportedEncodingException e) {
+ Log.e(TAG, "Failed to add extra info on update request: "+e.getLocalizedMessage());
+ }
}
}
diff --git a/src/com/fairphone/updater/data/Version.java b/src/com/fairphone/updater/data/Version.java
index 18a9379..74caf93 100644
--- a/src/com/fairphone/updater/data/Version.java
+++ b/src/com/fairphone/updater/data/Version.java
@@ -18,6 +18,7 @@
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.Locale;
import java.util.Map;
import android.content.Context;
diff --git a/src/com/fairphone/updater/data/VersionParserHelper.java b/src/com/fairphone/updater/data/VersionParserHelper.java
index c721c06..171c26b 100644
--- a/src/com/fairphone/updater/data/VersionParserHelper.java
+++ b/src/com/fairphone/updater/data/VersionParserHelper.java
@@ -46,6 +46,7 @@
private static final String CURRENT_VERSION_BUILD_NUMBER = "fairphone.ota.build_number";
private static final String CURRENT_ANDROID_VERSION = "fairphone.ota.android_version";
private static final String CURRENT_VERSION_IMAGE_TYPE = "fairphone.ota.image_type";
+ private static final String CURRENT_VERSION_BUILD_DATE = "ro.build.date";
public static String getNameFromVersion(Version version)
{
@@ -68,6 +69,7 @@
version.setBuildNumber(getSystemData(context, CURRENT_VERSION_BUILD_NUMBER));
version.setAndroidVersion(getSystemData(context, CURRENT_ANDROID_VERSION));
version.setImageType(getSystemData(context, CURRENT_VERSION_IMAGE_TYPE));
+ version.setReleaseDate(getSystemData(context, CURRENT_VERSION_BUILD_DATE));
Version versionData = UpdaterData.getInstance().getVersion(version.getImageType(), version.getNumber());
version.setThumbnailLink(versionData != null ? versionData.getThumbnailLink() : "");
diff --git a/src/com/fairphone/updater/fragments/DownloadAndRestartFragment.java b/src/com/fairphone/updater/fragments/DownloadAndRestartFragment.java
index e6c776b..913924b 100644
--- a/src/com/fairphone/updater/fragments/DownloadAndRestartFragment.java
+++ b/src/com/fairphone/updater/fragments/DownloadAndRestartFragment.java
@@ -1,3 +1,4 @@
+
package com.fairphone.updater.fragments;
import java.io.File;
@@ -121,7 +122,7 @@
@Override
public void onClick(View v)
{
- abortUpdateProccess();
+ abortUpdateProcess();
}
});
}
@@ -223,7 +224,7 @@
{
downloading = false;
Toast.makeText(mainActivity, getResources().getString(R.string.no_space_available_sd_card_message), Toast.LENGTH_LONG).show();
- abortUpdateProccess();
+ abortUpdateProcess();
}
else
{
@@ -332,7 +333,7 @@
{
if (intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false))
{
- abortUpdateProccess();
+ abortUpdateProcess();
}
}
};
@@ -436,13 +437,13 @@
{
Toast.makeText(mainActivity, resources.getString(R.string.error_downloading), Toast.LENGTH_LONG).show();
}
- abortUpdateProccess();
+ abortUpdateProcess();
break;
}
}
else
{
- abortUpdateProccess();
+ abortUpdateProcess();
}
if (cursor != null)
@@ -487,7 +488,7 @@
fileDir.delete();
// else if the perfect case does not happen, reset the download
- abortUpdateProccess();
+ abortUpdateProcess();
}
// ************************************************************************************
@@ -506,7 +507,7 @@
updateDir.delete();
- abortUpdateProccess();
+ abortUpdateProcess();
return;
}
@@ -519,7 +520,7 @@
// invalid download Id
if (mLatestUpdateDownloadId == 0)
{
- abortUpdateProccess();
+ abortUpdateProcess();
return;
}
}
@@ -609,7 +610,7 @@
}
else
{
- abortUpdateProccess();
+ abortUpdateProcess();
}
}
@@ -627,7 +628,7 @@
Log.d(TAG, "No space on cache. Defaulting to Sdcard");
Toast.makeText(mainActivity, getResources().getString(R.string.no_space_available_cache_message), Toast.LENGTH_LONG).show();
- abortUpdateProccess();
+ abortUpdateProcess();
}
}
}
@@ -700,7 +701,7 @@
}
else
{
- abortUpdateProccess();
+ abortUpdateProcess();
}
return 1;
@@ -739,7 +740,7 @@
return Environment.getExternalStorageDirectory() + resources.getString(R.string.updaterFolder) + VersionParserHelper.getNameFromVersion(version);
}
- public void abortUpdateProccess()
+ public void abortUpdateProcess()
{
removeLastUpdateDownload();