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

Commit a69f7192 authored by Martin Brabham's avatar Martin Brabham Committed by Martin Brabham
Browse files

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

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

Change-Id: Iba38e37bffe91d0d5bd9bb8922b4c168386ebfd9
(cherry picked from commit 106cfa2b)
parent 544c5e83
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
+35 −6
Original line number Diff line number Diff line
@@ -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);
        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);