blob: 05dcf40d6c7364c6840171b0b201305105381659 [file] [log] [blame]
/*
* Copyright (C) 2014 Fairphone Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.fairphone.updater.data;
import android.text.TextUtils;
import android.util.Log;
import java.util.HashMap;
import java.util.Map;
public abstract class DownloadableItem
{
private static final String TAG = DownloadableItem.class.getSimpleName();
public static final String DEFAULT_NOTES_LANG = "en";
private String mId;
private String mName;
private String mOTADownloadLink;
private String mOTAMd5Sum;
private String mBuildNumber;
private final Map<String, String> mReleaseNotesMap;
private String mReleaseDate;
private String mThumbnailImageLink;
DownloadableItem()
{
mId = "";
mName = "";
mOTADownloadLink = "";
mOTAMd5Sum = "";
mBuildNumber = "";
mReleaseDate = "";
mThumbnailImageLink = "";
mReleaseNotesMap = new HashMap<>();
}
DownloadableItem(DownloadableItem other)
{
mId = other.mId;
mName = other.mName;
mOTADownloadLink = other.mOTADownloadLink;
mOTAMd5Sum = other.mOTAMd5Sum;
mBuildNumber = other.mBuildNumber;
mReleaseDate = other.mReleaseDate;
mThumbnailImageLink = other.mThumbnailImageLink;
mReleaseNotesMap = other.mReleaseNotesMap;
}
public String getId()
{
return mId;
}
public void setId(String id)
{
this.mId = id;
}
public String getName()
{
return mName;
}
public void setName(String name)
{
this.mName = name;
}
public String getDownloadLink()
{
return mOTADownloadLink;
}
public void setDownloadLink(String mDownloadLink)
{
this.mOTADownloadLink = mDownloadLink;
}
public String getMd5Sum()
{
return mOTAMd5Sum;
}
public void setMd5Sum(String mMd5Sum)
{
this.mOTAMd5Sum = mMd5Sum;
}
public boolean isNewerVersionThan(DownloadableItem item)
{
boolean result = false;
if (item != null)
{
result = !this.mId.equals(item.mId);
}
else
{
Log.e(TAG, "Invalid Number for Version");
}
return result;
}
public void setBuildNumber(String buildNumber)
{
mBuildNumber = buildNumber;
}
public String getBuildNumber()
{
return mBuildNumber;
}
public void setReleaseDate(String releaseDate)
{
mReleaseDate = releaseDate;
}
public void setThumbnailLink(String thumbnailImageLink)
{
mThumbnailImageLink = thumbnailImageLink;
}
public String getThumbnailLink()
{
return mThumbnailImageLink;
}
public void setReleaseNotes(String language, String releaseNotes)
{
mReleaseNotesMap.put(language.toLowerCase(), releaseNotes);
}
public String getReleaseNotes(String language)
{
String releaseNotes = "";
if (mReleaseNotesMap.containsKey(language))
{
releaseNotes = mReleaseNotesMap.get(language);
}
else if (mReleaseNotesMap.containsKey(DEFAULT_NOTES_LANG))
{
releaseNotes = mReleaseNotesMap.get(DEFAULT_NOTES_LANG);
}
return TextUtils.isEmpty(releaseNotes) ? "" : releaseNotes;
}
// --Commented out by Inspection START (09/02/2015 19:48):
// Map<String, String> getReleaseNotes()
// {
// return mReleaseNotesMap;
// }
// --Commented out by Inspection STOP (09/02/2015 19:48)
// --Commented out by Inspection START (06/02/2015 12:36):
// void resetReleaseNotes()
// {
// mReleaseNotesMap.clear();
// }
// --Commented out by Inspection STOP (06/02/2015 12:36)
}