From a69f7192c9b6adf86d8627ac23c6149fd8ff83b1 Mon Sep 17 00:00:00 2001 From: Martin Brabham Date: Wed, 25 Mar 2015 15:31:42 -0700 Subject: Hide flip setting if the phone doesn't have the required hardware sensor. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (╯°□°)╯ sʞɔolɔ Change-Id: Iba38e37bffe91d0d5bd9bb8922b4c168386ebfd9 (cherry picked from commit 106cfa2bca37303a93e1826c04d88783aa15b52d) --- res/xml/settings.xml | 1 + 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 @@ 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 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); -- cgit v1.2.3