package com.jakehilborn.speedr.utils; import android.content.Context; import com.jakehilborn.speedr.R; public class FormatTime { //Hours, minutes, seconds, tenths of a second separated by symbols. //'h', 'm', 's', '.' symbols are localized //1h 23m 45.6s //1m 23.4s //0.0s public static String nanosToLongHand(Context context, Double nanos) { if (context == null || nanos == null) return null; StringBuilder timeSavedString = new StringBuilder( UnitUtils.nanosToSecondsModuloMinutes(nanos) + context.getString(R.string.decimal_symbol) + UnitUtils.nanosTo10thsModuloSeconds(nanos) + context.getString(R.string.second_symbol) ); //always show seconds if (nanos >= UnitUtils.NANO_ONE_MINUTE) { timeSavedString.insert(0, UnitUtils.nanosToMinutesModuloHours(nanos) + context.getString(R.string.minute_symbol) + " "); } if (nanos >= UnitUtils.NANO_ONE_HOUR) { timeSavedString.insert(0, UnitUtils.nanosToHoursModuloMinutes(nanos) + context.getString(R.string.hour_symbol) + " "); } return timeSavedString.toString(); } //Hours, minutes, seconds separated by symbols. //'h', 'm', 's' symbols are localized //1h 23m 45s //1m 23s //0s public static String nanosToShortHand(Context context, Double nanos) { if (context == null || nanos == null) return null; nanos = UnitUtils.roundNanosToNearestSecond(nanos); StringBuilder timeSavedString = new StringBuilder( UnitUtils.nanosToSecondsModuloMinutes(nanos) + context.getString(R.string.second_symbol) ); //always show seconds if (nanos >= UnitUtils.NANO_ONE_MINUTE) { timeSavedString.insert(0, UnitUtils.nanosToMinutesModuloHours(nanos) + context.getString(R.string.minute_symbol) + " "); } if (nanos >= UnitUtils.NANO_ONE_HOUR) { timeSavedString.insert(0, UnitUtils.nanosToHoursModuloMinutes(nanos) + context.getString(R.string.hour_symbol) + " "); } return timeSavedString.toString(); } public static String nanosToShortHand(Context context, Long nanos) { if (context == null || nanos == null) return null; return nanosToShortHand(context, (double) nanos); } //Accepts longHand or shortHand input public static String stylizedMainActivity(Context context, String time) { if (context == null || time == null) return null; //Replace 's', '.', 'm', 'h' with identifiers in case any localized symbols share letters with HTML tags time = time.replace(context.getString(R.string.second_symbol), "SECOND") .replace(context.getString(R.string.decimal_symbol), "DECIMAL") .replace(context.getString(R.string.minute_symbol), "MINUTE") .replace(context.getString(R.string.hour_symbol), "HOUR"); time = ("<b><big>" + time) .replace("SECOND", "</b></big><small>" + context.getString(R.string.second_symbol) + "</small>") .replace("DECIMAL", "<small>" + context.getString(R.string.decimal_symbol) + "</small>") .replace("MINUTE", "</b></big><small>" + context.getString(R.string.minute_symbol) + "</small><big><b>") .replace("HOUR", "</b></big><small>" + context.getString(R.string.hour_symbol) + "</small><big><b>"); return time; } public static String stylizedStats(String time) { if (time == null) return null; return "<b>" + time + "</b>"; } }