@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
-
+ AlarmClock.setVolumeControlForPlatform(this);
addPreferencesFromResource(R.xml.alarm_prefs);
mLabel = (EditTextPreference) findPreference("label");
mLabel.setOnPreferenceChangeListener(
mTimePref = findPreference("time");
mAlarmPref = (AlarmPreference) findPreference("alarm");
mVibratePref = (CheckBoxPreference) findPreference("vibrate");
+ mVibratePref.setEnabled(!AlarmClock.isVolumeAdjustable());
mRepeatPref = (RepeatPreference) findPreference("setRepeat");
Intent i = getIntent();
mMinutes = minutes;
mAlarmOnPref.setChecked(enabled);
mDaysOfWeek.set(daysOfWeek);
- mVibratePref.setChecked(vibrate);
+ mVibratePref.setChecked(vibrate && !AlarmClock.isVolumeAdjustable());
if (alert == null || alert.length() == 0) {
if (Log.LOGV) Log.v("****** reportAlarm null or 0-length alert");
* contain the old value (i.e. during the preference value change).
*/
private void saveAlarm(boolean popToast, String label) {
- if (mReportAlarmCalled && mAlarmPref.mAlert != null) {
- String alertString = mAlarmPref.mAlert.toString();
- saveAlarm(this, mId, mAlarmOnPref.isChecked(), mHour, mMinutes,
- mDaysOfWeek, mVibratePref.isChecked(), label, alertString,
- popToast);
- }
+ if (mReportAlarmCalled) {
+ if(mAlarmPref.mAlert != null){
+ String alertString = mAlarmPref.mAlert.toString();
+ saveAlarm(this, mId, mAlarmOnPref.isChecked(), mHour, mMinutes,
+ mDaysOfWeek, mVibratePref.isChecked(), label, alertString,
+ popToast);
+ }else{
+ saveAlarm(this, mId, mAlarmOnPref.isChecked(), mHour, mMinutes,
+ mDaysOfWeek, mVibratePref.isChecked(), label, label,
+ popToast);
+ }
+ }
}
/**
boolean dispHour = hours > 0;
boolean dispMinute = minutes > 0;
- String ret;
- if (!(dispDays || dispHour || dispMinute)) {
- ret = context.getString(R.string.subminute);
- } else {
- String parts[] = new String[5];
- parts[0] = daySeq;
- parts[1] = !dispDays ? "" :
- dispHour && dispMinute ? context.getString(R.string.space) :
- !dispHour && !dispMinute ? "" :
- context.getString(R.string.and);
- parts[2] = dispHour ? hourSeq : "";
- parts[3] = dispHour && dispMinute ? context.getString(R.string.and) : "";
- parts[4] = dispMinute ? minSeq : "";
- ret = context.getString(R.string.combiner, (Object[])parts);
- }
+ int index = (dispDays ? 1 : 0) |
+ (dispHour ? 2 : 0) |
+ (dispMinute ? 4 : 0);
- ret = context.getString(R.string.alarm_set, ret);
- /* if (Log.LOGV) Log.v("** TOAST daySeq " + daySeq + " hourSeq " + hourSeq +
- " minSeq " + minSeq + " ret " + ret); */
- return ret;
+ String[] formats = context.getResources().getStringArray(R.array.alarm_set);
+ return String.format(formats[index], daySeq, hourSeq, minSeq);
}
public boolean onCreateOptionsMenu(Menu menu) {