Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 106cfa2b authored by Martin Brabham's avatar Martin Brabham
Browse files

Hide flip setting if the phone doesn't have the required hardware sensor.

(╯°□°)╯ sʞɔolɔ

Change-Id: Iba38e37bffe91d0d5bd9bb8922b4c168386ebfd9
parent ba1a1978
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@
    </PreferenceCategory>

    <PreferenceCategory
        android:key="key_alarm_settings"
        android:title="@string/alarm_settings">

        <ListPreference
+34 −6
Original line number Diff line number Diff line
@@ -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);
        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);
        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);