Cherish: HeadsUp snooze function [2/2]

5.1 introduced a snooze feature which activates when swiping up.
Default snooze time is 1 minute. Let's make it configurable!

Signed-off-by: Arghya Chanda <arghyac35@gmail.com>
Change-Id: Ieac7f6182597c2285c1ddf40e2e75cce680682e7
Signed-off-by: SagarMakhar <sagarmakhar@gmail.com>
Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
Lokesh Chamane
2016-11-03 15:06:04 +08:00
committed by Hưng Phan
parent 5ddc665991
commit eae80f6e34
4 changed files with 65 additions and 0 deletions

View File

@@ -42,4 +42,22 @@
<item>8000</item>
<item>10000</item>
</string-array>
<!-- Heads up snooze -->
<string-array name="heads_up_snooze_entries">
<item>@string/disabled</item>
<item>@string/heads_up_snooze_1min</item>
<item>@string/heads_up_snooze_5min</item>
<item>@string/heads_up_snooze_10min</item>
<item>@string/heads_up_snooze_15min</item>
<item>@string/heads_up_snooze_20min</item>
</string-array>
<string-array name="heads_up_snooze_values" translatable="false">
<item>0</item>
<item>60000</item>
<item>300000</item>
<item>600000</item>
<item>900000</item>
<item>1200000</item>
</string-array>
</resources>

View File

@@ -214,4 +214,15 @@
<string name="heads_up_time_out_8sec">8 seconds</string>
<string name="heads_up_time_out_10sec">10 seconds</string>
<!-- Heads up snooze -->
<string name="heads_up_snooze_title">Snooze timer</string>
<string name="heads_up_snooze_summary_one_minute">Swiping up on peeking notifications will snooze heads up from that application for 1 minute</string>
<string name="heads_up_snooze_summary">Swiping up on peeking notifications will snooze heads up from that application for <xliff:g id="number">%d</xliff:g> minutes</string>
<string name="heads_up_snooze_disabled_summary">Snooze timer is disabled</string>
<string name="heads_up_snooze_1min">1 minute</string>
<string name="heads_up_snooze_5min">5 minutes</string>
<string name="heads_up_snooze_10min">10 minutes</string>
<string name="heads_up_snooze_15min">15 minutes</string>
<string name="heads_up_snooze_20min">20 minutes</string>
</resources>

View File

@@ -29,6 +29,13 @@
android:entryValues="@array/heads_up_time_out_values"
android:persistent="false" />
<ListPreference
android:key="heads_up_snooze_time"
android:title="@string/heads_up_snooze_title"
android:entries="@array/heads_up_snooze_entries"
android:entryValues="@array/heads_up_snooze_values"
android:persistent="false" />
<PreferenceCategory
android:title="@string/heads_up_stoplist_title"
android:key="stoplist_applications"

View File

@@ -55,6 +55,7 @@ public class HeadsUpSettings extends SettingsPreferenceFragment
private static final int DIALOG_STOPLIST_APPS = 0;
private static final int DIALOG_BLACKLIST_APPS = 1;
private static final String PREF_HEADS_UP_TIME_OUT = "heads_up_time_out";
private static final String PREF_HEADS_UP_SNOOZE_TIME = "heads_up_snooze_time";
private PackageListAdapter mPackageAdapter;
private PackageManager mPackageManager;
@@ -63,6 +64,7 @@ public class HeadsUpSettings extends SettingsPreferenceFragment
private Preference mAddStoplistPref;
private Preference mAddBlacklistPref;
private ListPreference mHeadsUpTimeOut;
private ListPreference mHeadsUpSnoozeTime;
private String mStoplistPackageList;
private String mBlacklistPackageList;
@@ -107,6 +109,15 @@ public class HeadsUpSettings extends SettingsPreferenceFragment
Settings.System.HEADS_UP_TIMEOUT, defaultTimeOut);
mHeadsUpTimeOut.setValue(String.valueOf(headsUpTimeOut));
updateHeadsUpTimeOutSummary(headsUpTimeOut);
int defaultSnooze = systemUiResources.getInteger(systemUiResources.getIdentifier(
"com.android.systemui:integer/heads_up_default_snooze_length_ms", null, null));
mHeadsUpSnoozeTime = (ListPreference) findPreference(PREF_HEADS_UP_SNOOZE_TIME);
mHeadsUpSnoozeTime.setOnPreferenceChangeListener(this);
int headsUpSnooze = Settings.System.getInt(getContentResolver(),
Settings.System.HEADS_UP_NOTIFICATION_SNOOZE, defaultSnooze);
mHeadsUpSnoozeTime.setValue(String.valueOf(headsUpSnooze));
updateHeadsUpSnoozeTimeSummary(headsUpSnooze);
}
@Override
@@ -118,6 +129,13 @@ public class HeadsUpSettings extends SettingsPreferenceFragment
headsUpTimeOut);
updateHeadsUpTimeOutSummary(headsUpTimeOut);
return true;
} else if (preference == mHeadsUpSnoozeTime) {
int headsUpSnooze = Integer.valueOf((String) newValue);
Settings.System.putInt(getContentResolver(),
Settings.System.HEADS_UP_NOTIFICATION_SNOOZE,
headsUpSnooze);
updateHeadsUpSnoozeTimeSummary(headsUpSnooze);
return true;
}
return false;
}
@@ -128,6 +146,17 @@ public class HeadsUpSettings extends SettingsPreferenceFragment
mHeadsUpTimeOut.setSummary(summary);
}
private void updateHeadsUpSnoozeTimeSummary(int value) {
if (value == 0) {
mHeadsUpSnoozeTime.setSummary(getResources().getString(R.string.heads_up_snooze_disabled_summary));
} else if (value == 60000) {
mHeadsUpSnoozeTime.setSummary(getResources().getString(R.string.heads_up_snooze_summary_one_minute));
} else {
String summary = getResources().getString(R.string.heads_up_snooze_summary, value / 60 / 1000);
mHeadsUpSnoozeTime.setSummary(summary);
}
}
@Override
public void onResume() {
super.onResume();