diff options
Diffstat (limited to 'src/com/android/deskclock/SettingsActivity.java')
-rw-r--r-- | src/com/android/deskclock/SettingsActivity.java | 41 |
1 files changed, 35 insertions, 6 deletions
diff --git a/src/com/android/deskclock/SettingsActivity.java b/src/com/android/deskclock/SettingsActivity.java index 6f575b5af..a232202c7 100644 --- a/src/com/android/deskclock/SettingsActivity.java +++ b/src/com/android/deskclock/SettingsActivity.java @@ -17,23 +17,25 @@ package com.android.deskclock; import android.app.ActionBar; -import android.app.AlarmManager; import android.content.Context; import android.content.Intent; import android.content.res.Configuration; import android.content.res.Resources; +import android.hardware.Sensor; +import android.hardware.SensorManager; import android.media.AudioManager; import android.os.Bundle; import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceActivity; +import android.preference.PreferenceCategory; +import android.preference.PreferenceScreen; import android.preference.SwitchPreference; import android.provider.Settings; import android.text.format.DateUtils; import android.view.Menu; import android.view.MenuItem; -import com.android.deskclock.alarms.AlarmNotifications; import com.android.deskclock.worldclock.Cities; import java.util.ArrayList; @@ -68,6 +70,7 @@ public class SettingsActivity extends PreferenceActivity "automatic_home_clock"; public static final String KEY_VOLUME_BUTTONS = "volume_button_setting"; + public static final String KEY_ALARM_SETTINGS = "key_alarm_settings"; public static final String DEFAULT_VOLUME_BEHAVIOR = "0"; public static final String VOLUME_BEHAVIOR_SNOOZE = "1"; @@ -232,13 +235,39 @@ public class SettingsActivity extends PreferenceActivity updateActionSummary(listPref, listPref.getValue(), R.string.volume_buttons_summary); listPref.setOnPreferenceChangeListener(this); + SensorManager sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); + listPref = (ListPreference) findPreference(KEY_FLIP_ACTION); - updateActionSummary(listPref, listPref.getValue(), R.string.flip_action_summary); - listPref.setOnPreferenceChangeListener(this); + if (listPref != null) { + List<Sensor> sensorList = sensorManager.getSensorList(Sensor.TYPE_ORIENTATION); + if (sensorList.size() < 1) { // This will be true if no orientation sensor + listPref.setValue("0"); // Turn it off + PreferenceCategory category = (PreferenceCategory) findPreference( + KEY_ALARM_SETTINGS); + if (category != null) { + category.removePreference(listPref); + } + } else { + updateActionSummary(listPref, listPref.getValue(), R.string.flip_action_summary); + listPref.setOnPreferenceChangeListener(this); + } + } listPref = (ListPreference) findPreference(KEY_SHAKE_ACTION); - updateActionSummary(listPref, listPref.getValue(), R.string.shake_action_summary); - listPref.setOnPreferenceChangeListener(this); + if (listPref != null) { + List<Sensor> sensorList = sensorManager.getSensorList(Sensor.TYPE_ACCELEROMETER); + if (sensorList.size() < 1) { // This will be true if no accelerometer sensor + listPref.setValue("0"); // Turn it off + PreferenceCategory category = (PreferenceCategory) findPreference( + KEY_ALARM_SETTINGS); + if (category != null) { + category.removePreference(listPref); + } + } else { + updateActionSummary(listPref, listPref.getValue(), R.string.shake_action_summary); + listPref.setOnPreferenceChangeListener(this); + } + } SwitchPreference hideStatusbarIcon = (SwitchPreference) findPreference(KEY_SHOW_STATUS_BAR_ICON); hideStatusbarIcon.setOnPreferenceChangeListener(this); |