Skip to content

Commit

Permalink
format nap duration in widget
Browse files Browse the repository at this point in the history
  • Loading branch information
thibault committed Mar 2, 2011
1 parent 8217b4e commit 59dd906
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 1 deletion.
23 changes: 22 additions & 1 deletion Napply/src/fr/miximum/napply/NapplyWidget.java
Expand Up @@ -36,6 +36,7 @@
import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Formatter;
import java.util.GregorianCalendar;
import java.util.Map;

Expand Down Expand Up @@ -344,7 +345,7 @@ static void updateAppWidget(Context context, AppWidgetManager appWidgetManager,
// Prepare widget views
int napDuration = getNapDuration(context, appWidgetId);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.napply_widget_layout);
views.setTextViewText(R.id.nap_time, "" + napDuration);
views.setTextViewText(R.id.nap_time, formatNapDuration(napDuration));
views.setTextViewText(R.id.nap_end, napLabel);

// Prepare intent to launch alarm on widget click
Expand Down Expand Up @@ -375,4 +376,24 @@ static void updateAppWidget(Context context, AppWidgetManager appWidgetManager,
String napLabel = context.getString(R.string.default_widget_label);
updateAppWidget(context, appWidgetManager, appWidgetId, napLabel);
}

/**
* Format the nap duration string
* @param napDuration The nap duration in minutes
* @return the formated duration «hour:minute»
*/
public static String formatNapDuration(int napDuration) {
String formatted = "";
int hours = napDuration / 60;
int minutes = napDuration - (60 * hours);

Formatter f = new Formatter();
formatted = f.format("%02d", minutes).out().toString();

if (hours > 0) {
formatted = "" + hours + ":" + formatted;
}

return formatted;
}
}
15 changes: 15 additions & 0 deletions NapplyTest/src/fr/miximum/napply/tests/NapplyWidgetTest.java
@@ -0,0 +1,15 @@
package fr.miximum.napply.tests;

import fr.miximum.napply.NapplyWidget;
import junit.framework.TestCase;

public class NapplyWidgetTest extends TestCase {

public void testFormatNapDuration() {
assertEquals("25", NapplyWidget.formatNapDuration(25));
assertEquals("59", NapplyWidget.formatNapDuration(59));
assertEquals("05", NapplyWidget.formatNapDuration(5));
assertEquals("2:00", NapplyWidget.formatNapDuration(120));
assertEquals("2:45", NapplyWidget.formatNapDuration(165));
}
}

0 comments on commit 59dd906

Please sign in to comment.