diff options
author | Martin Brabham <optedoblivion@cyngn.com> | 2015-03-25 15:31:42 -0700 |
---|---|---|
committer | Martin Brabham <optedoblivion@cyngn.com> | 2015-03-26 10:33:43 -0700 |
commit | 106cfa2bca37303a93e1826c04d88783aa15b52d (patch) | |
tree | 2550975c75aa85a8da2909ec6d07c25f7400a83f | |
parent | ba1a197833a1cd35897aa823f610f66754060a6d (diff) | |
download | android_packages_apps_DeskClock-106cfa2bca37303a93e1826c04d88783aa15b52d.tar.gz android_packages_apps_DeskClock-106cfa2bca37303a93e1826c04d88783aa15b52d.tar.bz2 android_packages_apps_DeskClock-106cfa2bca37303a93e1826c04d88783aa15b52d.zip |
Hide flip setting if the phone doesn't have the required hardware sensor.
(╯°□°)╯ sʞɔolɔ
Change-Id: Iba38e37bffe91d0d5bd9bb8922b4c168386ebfd9
-rw-r--r-- | res/xml/settings.xml | 1 | ||||
-rw-r--r-- | src/com/android/deskclock/SettingsActivity.java | 40 |
2 files changed, 35 insertions, 6 deletions
diff --git a/res/xml/settings.xml b/res/xml/settings.xml index 505c6c70b..0d65c159c 100644 --- a/res/xml/settings.xml +++ b/res/xml/settings.xml @@ -41,6 +41,7 @@ </PreferenceCategory> <PreferenceCategory + android:key="key_alarm_settings" android:title="@string/alarm_settings"> <ListPreference diff --git a/src/com/android/deskclock/SettingsActivity.java b/src/com/android/deskclock/SettingsActivity.java index c9c01ed32..a89c5db7d 100644 --- a/src/com/android/deskclock/SettingsActivity.java +++ b/src/com/android/deskclock/SettingsActivity.java @@ -17,16 +17,18 @@ 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; @@ -34,7 +36,6 @@ 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; @@ -74,6 +75,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"; @@ -262,13 +264,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); |