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