/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the Common Development
* and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at
* src/com/vodafone360/people/VODAFONE.LICENSE.txt or
* http://github.com/360/360-Engine-for-Android
* See the License for the specific language governing permissions and
* limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each file and
* include the License file at src/com/vodafone360/people/VODAFONE.LICENSE.txt.
* If applicable, add the following below this CDDL HEADER, with the fields
* enclosed by brackets "[]" replaced with your own identifying information:
* Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*
* Copyright 2010 Vodafone Sales & Services Ltd. All rights reserved.
* Use is subject to license terms.
*/
package com.vodafone360.people.engine.upgrade;
import java.util.HashMap;
import java.util.Map;
import android.content.Context;
import com.vodafone360.people.R;
import com.vodafone360.people.utils.LogUtils;
import com.vodafone360.people.utils.VersionUtils;
/**
* Represents a parsed remote upgrade status text file.
*/
public class UpgradeStatus {
private static final String LATEST_VERSION = "LatestVersion";
private static final String UPGRADE_URL = "UpgradeUrl";
private static final String UPGRADE_TEXT = "UpgradeText";
private int mLatestVersion;
private String mUpgradeUrl;
private String mUpgradeText;
/**
* Add a setting.
*
* @param input Single line from the update descriptor file
*/
protected void addSetting(String input) {
int mPos = input.indexOf(":");
if (mPos != -1) {
String key = input.substring(0, mPos);
String value = input.substring(mPos + 1, input.length());
if (key.equalsIgnoreCase(LATEST_VERSION)) {
setLatestVersion(Integer.valueOf(value));
} else if (key.equalsIgnoreCase(UPGRADE_URL)) {
setUpgradeUrl(value);
} else if (key.equalsIgnoreCase(UPGRADE_TEXT)) {
setUpgradeText(value);
}
} else {
LogUtils.logW("UpgradeStatus.addSetting() Invalid input[" + input + "]");
}
}
/**
* Get the latest version.
*
* @return the latest version
*/
public int getLatestVersion() {
return mLatestVersion;
}
/**
* Sets the latest version.
*
* @param latestVersion - the latest version
*/
public void setLatestVersion(int latestVersion) {
mLatestVersion = latestVersion;
}
/**
* Gets the upgrade URL.
*
* @return the upgrade URL
*/
public String getUpgradeUrl() {
return mUpgradeUrl;
}
/**
* Sets the new upgrade URL.
*
* @param upgradeUrl - the URL to use
*/
public void setUpgradeUrl(String upgradeUrl) {
mUpgradeUrl = upgradeUrl;
}
/**
* Get the upgrade text.
*
* @return the updgrade text
*/
public String getUpgradeText(Context context) {
if (mUpgradeText != null && !mUpgradeText.trim().equals("")) {
return mUpgradeText;
} else {
return context.getString(R.string.UpgradeStatus_Message_default);
}
}
/**
* Set the upgrade text.
*
* @param upgradeText - the new text
*/
public void setUpgradeText(String upgradeText) {
mUpgradeText = upgradeText;
}
private static Map<String, String> sMap = new HashMap<String, String>();
/**
* Set the upgrade version.
*
* @param context Android context.
*/
public void setUpgradeVersion(final Context context) {
sMap.put("CurrentVersion", "" + VersionUtils.getPackageVersionCode(context));
sMap.put("LatestVersion", "" + getLatestVersion());
// FlurryAgent.onEvent("ShowUpgradeDialog", sMap);
}
}