/**
* Copyright (c) 2015 unfoldingWord
* http://creativecommons.org/licenses/MIT/
* See LICENSE file for details.
* Contributors:
* PJ Fechner <pj@actsmedia.com>
*/
package view;
import android.content.Context;
import android.content.res.AssetManager;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.support.annotation.Nullable;
import org.unfoldingword.mobile.R;
import java.io.IOException;
import java.io.InputStream;
import signing.Status;
/**
* Created by Fechner on 7/6/15.
*/
public class ViewContentHelper {
//region images
/**
* @param level Checking level of the version being shown
* @return dark Image resource for the passed checking level
*/
static public int getDarkCheckingLevelImageResource(int level){
switch (level){
case 2:{
return R.drawable.level_two_dark;
}
case 3:{
return R.drawable.level_three_dark;
}
default:{
return R.drawable.level_one_dark;
}
}
}
/**
* @param level Checking level of the version being shown
* @return Normal Checking level image for the passed level
*/
public static int getCheckingLevelImage(int level){
switch (level){
case 2:{
return R.drawable.level_two;
}
case 3:{
return R.drawable.level_three;
}
default:{
return R.drawable.level_one;
}
}
}
/**
* @param currentStatus verification status of the version being shown
* @return The resource for the passed status
*/
public static int getDrawableForStatus(int currentStatus){
switch (currentStatus){
case 0:
return R.drawable.green_checkmark;
case 1:
return R.drawable.yellow_exclamation_point;
default:
return R.drawable.red_x_button;
}
}
//endregion
//region text
/**
* @param currentStatus verification status of version being shown
* @return Single character to put in the status button.
*/
public static int getVerificationButtonTextForStatus(int currentStatus){
switch (currentStatus){
case 0:
return R.string.verified_button_char;
case 1:
return R.string.expired_button_char;
default:
return R.string.x_button_char;
}
}
/**
* @param level Checking level of the version being shown
* @return the text explaining the checking level
*/
static public int getCheckingLevelText(int level){
switch (level){
case 2:{
return R.string.level_two;
}
case 3:{
return R.string.level_three;
}
default:{
return R.string.level_one;
}
}
}
/**
*
* @param status status for which you want text
* @param title title you want to use in the text
* @return text based ont he status
*/
public static String getTextForStatus(Status status, String title) {
switch (status) {
case VERIFIED: {
return "";
}
case EXPIRED: {
return "Verification for " + title + " has Expired\n";
}
case ERROR: {
return "Error Verifying " + title + "\n";
}
default: {
return "Failed to Verify " + title + "\n";
}
}
}
//endregion
//region colors
/**
* @param selected if the row is selected
* @return Color resource for the passed row selection
*/
public static int getColorForSelection(boolean selected){
if(selected){
return R.color.primary;
}
else {
return R.color.black;
}
}
/**
* @param context context with the desired assets
* @param strName image name
* @return Created Bitmap or null if it could not be found
*/
@Nullable
public static Bitmap getBitmapFromAsset(Context context, String strName)
{
AssetManager assetManager = context.getAssets();
InputStream input;
try {
input = assetManager.open(strName);
} catch (IOException e) {
e.printStackTrace();
return null;
}
return BitmapFactory.decodeStream(input);
}
//endregion
}