import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
+import android.os.SystemProperties;
+import android.media.AudioManager;
import java.util.Calendar;
private LayoutInflater mFactory;
private ListView mAlarmsList;
private Cursor mCursor;
+ private static boolean volumeAdjustable;
private void updateIndicatorAndAlarm(boolean enabled, ImageView bar,
Alarm alarm) {
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ volumeAdjustable=SystemProperties.getBoolean("ro.alarm.volume.adjustable",false);
+ AlarmClock.setVolumeControlForPlatform(this);
mFactory = LayoutInflater.from(this);
mPrefs = getSharedPreferences(PREFERENCES, 0);
intent.putExtra(Alarms.ALARM_ID, (int) id);
startActivity(intent);
}
+
+ public static void setVolumeControlForPlatform(Activity context){
+ if (isVolumeAdjustable()){
+ context.setVolumeControlStream(AudioManager.STREAM_ALARM);
+ }else{
+ //Use default stream type,the default type use a fixed volume
+ context.setVolumeControlStream(AudioManager.USE_DEFAULT_STREAM_TYPE);
+ }
+ }
+ public static boolean isVolumeAdjustable(){
+ return volumeAdjustable;
+ }
}
@Override
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ AlarmClock.setVolumeControlForPlatform(this);
addPreferencesFromResource(R.xml.alarm_prefs);
mTimePref = findPreference("time");
mAlarmPref = (AlarmPreference) findPreference("alarm");
mVibratePref = (CheckBoxPreference) findPreference("vibrate");
+ mVibratePref.setEnabled(!AlarmClock.isVolumeAdjustable());
mRepeatPref = (RepeatPreference) findPreference("setRepeat");
Intent i = getIntent();
mHour = alarm.hour;
mMinutes = alarm.minutes;
mRepeatPref.setDaysOfWeek(alarm.daysOfWeek);
- mVibratePref.setChecked(alarm.vibrate);
+ mVibratePref.setChecked(alarm.vibrate && !AlarmClock.isVolumeAdjustable());
// Give the alert uri to the preference.
mAlarmPref.setAlert(alarm.alert);
updateTime();