Skip to content

Commit 116a340

Browse files
committed
QuietHours: added option for controlling current mode from QH settings
1 parent 50d1921 commit 116a340

File tree

4 files changed

+43
-1
lines changed

4 files changed

+43
-1
lines changed

res/values/arrays.xml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1262,4 +1262,18 @@
12621262
<item>8</item>
12631263
</string-array>
12641264

1265+
<string-array name="lc_qh_mode_entries" translatable="false">
1266+
<item>@string/quiet_hours_on</item>
1267+
<item>@string/quiet_hours_off</item>
1268+
<item>@string/quiet_hours_auto</item>
1269+
<item>@string/quiet_hours_wear</item>
1270+
</string-array>
1271+
1272+
<string-array name="lc_qh_mode_values" translatable="false">
1273+
<item>ON</item>
1274+
<item>OFF</item>
1275+
<item>AUTO</item>
1276+
<item>WEAR</item>
1277+
</string-array>
1278+
12651279
</resources>

res/values/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2126,4 +2126,7 @@
21262126
<string name="pref_lc_qh_manual_title">Manual mode</string>
21272127
<string name="pref_lc_qh_manual_summary">Allows to set rules for manual quiet hours</string>
21282128

2129+
<!-- QH: current mode -->
2130+
<string name="pref_lc_qh_mode_title">Current mode</string>
2131+
21292132
</resources>

res/xml/led_control_quiet_hours_settings.xml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,15 @@
2323
android:title="@string/pref_lc_qh_enabled_title"
2424
android:summary="@string/pref_lc_qh_enabled_summary"
2525
android:defaultValue="false" />
26-
26+
27+
<ListPreference
28+
android:key="pref_lc_qh_mode"
29+
android:title="@string/pref_lc_qh_mode_title"
30+
android:entries="@array/lc_qh_mode_entries"
31+
android:entryValues="@array/lc_qh_mode_values"
32+
android:defaultValue="AUTO"
33+
android:dependency="pref_lc_qh_enabled" />
34+
2735
<CheckBoxPreference
2836
android:key="pref_lc_qh_statusbar_icon"
2937
android:title="@string/pref_lc_qh_statusbar_icon_title"

src/com/ceco/oreo/gravitybox/ledcontrol/QuietHoursActivity.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@
1515
package com.ceco.oreo.gravitybox.ledcontrol;
1616

1717
import java.util.ArrayList;
18+
import java.util.Arrays;
1819
import java.util.HashSet;
20+
import java.util.List;
1921
import java.util.Set;
2022

2123
import com.ceco.oreo.gravitybox.R;
@@ -31,6 +33,7 @@
3133
import android.content.SharedPreferences;
3234
import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
3335
import android.os.Bundle;
36+
import android.preference.ListPreference;
3437
import android.preference.MultiSelectListPreference;
3538
import android.preference.Preference;
3639
import android.preference.PreferenceFragment;
@@ -164,6 +167,7 @@ public static class PrefsFragment extends PreferenceFragment implements
164167
private MultiSelectListPreference mPrefSystemSounds;
165168
private Preference mPrefRingerWhitelist;
166169
private Preference mPrefRanges;
170+
private ListPreference mPrefMode;
167171

168172
@Override
169173
public void onCreate(Bundle savedInstanceState) {
@@ -180,6 +184,18 @@ public void onCreate(Bundle savedInstanceState) {
180184

181185
mPrefRingerWhitelist = findPreference(PREF_KEY_QH_RINGER_WHITELIST);
182186
mPrefRanges = findPreference(PREF_KEY_QH_RANGES);
187+
188+
mPrefMode = (ListPreference) findPreference(PREF_KEY_QH_MODE);
189+
if (!Utils.isAppInstalled(getActivity(), QuietHours.PKG_WEARABLE_APP)) {
190+
List<CharSequence> actEntries = new ArrayList<CharSequence>(Arrays.asList(
191+
mPrefMode.getEntries()));
192+
List<CharSequence> actEntryValues = new ArrayList<CharSequence>(Arrays.asList(
193+
mPrefMode.getEntryValues()));
194+
actEntries.remove(actEntries.size()-1);
195+
actEntryValues.remove(actEntryValues.size()-1);
196+
mPrefMode.setEntries(actEntries.toArray(new CharSequence[actEntries.size()]));
197+
mPrefMode.setEntryValues(actEntryValues.toArray(new CharSequence[actEntryValues.size()]));
198+
}
183199
}
184200

185201
private void updateSummaries() {
@@ -201,6 +217,7 @@ private void updateSummaries() {
201217
mPrefSystemSounds.setSummary(summary);
202218

203219
mPrefRingerWhitelist.setEnabled(values != null && values.contains("ringer"));
220+
mPrefMode.setSummary(mPrefMode.getEntry());
204221
}
205222

206223
@Override

0 commit comments

Comments
 (0)