diff --git a/res/values/strings.xml b/res/values/strings.xml index 90cf3b18..12ac74c2 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <!-- -Copyright (C) 2010 Christopher Eby <kreed@kreed.org> +Copyright (C) 2010, 2011 Christopher Eby <kreed@kreed.org> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -85,13 +85,17 @@ THE SOFTWARE. <string name="title_by_artist">%1$s by %2$s</string> <!-- Preferences --> + <plurals name="seconds"> + <item quantity="one">01 second</item> + <item quantity="other">%02d seconds</item> + </plurals> <plurals name="minutes"> - <item quantity="one">1 minute</item> - <item quantity="other">%d minutes</item> + <item quantity="one">01 minute</item> + <item quantity="other">%02d minutes</item> </plurals> <plurals name="hours"> - <item quantity="one">1 hour</item> - <item quantity="other">%d hours</item> + <item quantity="one">01 hour</item> + <item quantity="other">%02d hours</item> </plurals> <string name="pref_output">Audio Output</string> diff --git a/src/org/kreed/vanilla/IdlePreference.java b/src/org/kreed/vanilla/IdlePreference.java index 9aac8d3d..83df5f29 100644 --- a/src/org/kreed/vanilla/IdlePreference.java +++ b/src/org/kreed/vanilla/IdlePreference.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010 Christopher Eby <kreed@kreed.org> + * Copyright (C) 2010, 2011 Christopher Eby <kreed@kreed.org> * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -95,15 +95,21 @@ public class IdlePreference extends DialogPreference implements SeekBar.OnSeekBa { Resources res = getContext().getResources(); int value = mValue; - String text; - if (value >= 3570) { - int hours = (int)Math.round(value / 3600f); - text = res.getQuantityString(R.plurals.hours, hours, hours); + StringBuilder text = new StringBuilder(); + if (value >= 3600) { + int hours = value / 3600; + text.append(res.getQuantityString(R.plurals.hours, hours, hours)); + text.append(", "); + int minutes = value / 60 - hours * 60; + text.append(res.getQuantityString(R.plurals.minutes, minutes, minutes)); } else { - int minutes = (int)Math.round(value / 60f); - text = res.getQuantityString(R.plurals.minutes, minutes, minutes); + int minutes = value / 60; + text.append(res.getQuantityString(R.plurals.minutes, minutes, minutes)); + text.append(", "); + int seconds = value - minutes * 60; + text.append(res.getQuantityString(R.plurals.seconds, seconds, seconds)); } - mValueText.setText(text); + mValueText.setText(text.toString()); } @Override @@ -115,7 +121,7 @@ public class IdlePreference extends DialogPreference implements SeekBar.OnSeekBa public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { - // Approximate an exponential curve with x^4. Produces a value from 60-10860. + // Approximate an exponential curve with x^4. Produces a value from MIN-MAX. if (fromUser) { float value = seekBar.getProgress() / 1000.0f; value *= value; @@ -126,10 +132,10 @@ public class IdlePreference extends DialogPreference implements SeekBar.OnSeekBa } public void onStartTrackingTouch(SeekBar seekBar) - { + { } public void onStopTrackingTouch(SeekBar seekBar) { } -} \ No newline at end of file +}