summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Brabham <optedoblivion@cyngn.com>2015-03-25 15:31:42 -0700
committerMartin Brabham <optedoblivion@gmail.com>2015-04-16 15:59:08 -0700
commita69f7192c9b6adf86d8627ac23c6149fd8ff83b1 (patch)
treecbfb92204daa227845b760802ccbffccf59f578d
parent544c5e8365499611d627d84ebc6b899f1860811b (diff)
downloadandroid_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.xml1
-rw-r--r--src/com/android/deskclock/SettingsActivity.java41
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);