diff options
author | Martin Brabham <optedoblivion@cyngn.com> | 2015-03-25 15:31:42 -0700 |
---|---|---|
committer | Martin Brabham <optedoblivion@gmail.com> | 2015-04-16 15:59:08 -0700 |
commit | a69f7192c9b6adf86d8627ac23c6149fd8ff83b1 (patch) | |
tree | cbfb92204daa227845b760802ccbffccf59f578d | |
parent | 544c5e8365499611d627d84ebc6b899f1860811b (diff) | |
download | android_packages_apps_DeskClock-caf/cm-12.1.tar.gz android_packages_apps_DeskClock-caf/cm-12.1.tar.bz2 android_packages_apps_DeskClock-caf/cm-12.1.zip |
Hide flip setting if the phone doesn't have the required hardware sensor.caf/cm-12.1
(╯°□°)╯ sʞɔolɔ
Change-Id: Iba38e37bffe91d0d5bd9bb8922b4c168386ebfd9
(cherry picked from commit 106cfa2bca37303a93e1826c04d88783aa15b52d)
-rw-r--r-- | res/xml/settings.xml | 1 | ||||
-rw-r--r-- | src/com/android/deskclock/SettingsActivity.java | 41 |
2 files changed, 36 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 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); |