/* * 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); } }