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!

Change-Id: I1ec385bc03bde4671887ad568cbf59c0965f0a65
This commit is contained in:
Nick0703
2020-05-23 14:40:33 +05:30
committed by Hung Phan
parent 9ec232bda4
commit acd7bb7753
5 changed files with 89 additions and 3 deletions

View File

@@ -64,7 +64,7 @@
<string name="lockscreen_media_blur_title">Mức độ mờ ảnh bìa</string> <string name="lockscreen_media_blur_title">Mức độ mờ ảnh bìa</string>
<!-- QS settings --> <!-- QS settings -->
<string name="qs_title">Cài đặt nhanh</string> <string name="qs_title">Cài đặt nhanh</string>
<string name="qs_rows_portrait_title">Cột (màn hình dọc)</string> <string name="qs_rows_portrait_title">Hàng (màn hình dọc)</string>
<string name="qs_rows_landscape_title">Hàng (ngang)</string> <string name="qs_rows_landscape_title">Hàng (ngang)</string>
<string name="qs_columns_portrait_title">Cột (màn hình dọc)</string> <string name="qs_columns_portrait_title">Cột (màn hình dọc)</string>
<string name="qs_columns_landscape_title">Cột (màn hình ngang)</string> <string name="qs_columns_landscape_title">Cột (màn hình ngang)</string>
@@ -123,8 +123,8 @@
<string name="status_bar_am_pm_normal">Bình thường</string> <string name="status_bar_am_pm_normal">Bình thường</string>
<string name="status_bar_am_pm_small">Nhỏ</string> <string name="status_bar_am_pm_small">Nhỏ</string>
<string name="status_bar_am_pm_hidden">Ẩn</string> <string name="status_bar_am_pm_hidden">Ẩn</string>
<string name="clock_giây_display">Hiển thị giây</string> <string name="clock_seconds_display">Hiển thị giây</string>
<string name="clock_giây_display_summary">Hiển thị giây trong đồng hồ trên thanh trạng thái</string> <string name="clock_seconds_display_summary">Hiển thị giây trong đồng hồ trên thanh trạng thái</string>
<string name="clock_date_display">Ngày</string> <string name="clock_date_display">Ngày</string>
<string name="clock_date_display_summary">Hiển thị ngày tùy chỉnh trước đồng hồ</string> <string name="clock_date_display_summary">Hiển thị ngày tùy chỉnh trước đồng hồ</string>
<string name="clock_date_display_none">Ẩn</string> <string name="clock_date_display_none">Ẩn</string>
@@ -444,4 +444,14 @@
<string name="heads_up_time_out_6sec">6 giây</string> <string name="heads_up_time_out_6sec">6 giây</string>
<string name="heads_up_time_out_8sec">8 giây</string> <string name="heads_up_time_out_8sec">8 giây</string>
<string name="heads_up_time_out_10sec">10 giây</string> <string name="heads_up_time_out_10sec">10 giây</string>
<!-- Heads up snooze -->
<string name="heads_up_snooze_title">Hẹn giờ báo lại</string>
<string name="heads_up_snooze_summary_one_phút">Vuốt lên trên các thông báo nhìn nhanh sẽ báo lại từ ứng dụng đó cho 1 phút</string>
<string name="heads_up_snooze_summary">Vuốt lên trên các thông báo nhìn nhanh sẽ báo lại từ ứng dụng đó cho <xliff:g id="number">%d</xliff:g> phút</string>
<string name="heads_up_snooze_disabled_summary">Hẹn giờ báo lại bị vô hiệu hóa</string>
<string name="heads_up_snooze_1min">1 phút</string>
<string name="heads_up_snooze_5min">5 phút</string>
<string name="heads_up_snooze_10min">10 phút</string>
<string name="heads_up_snooze_15min">15 phút</string>
<string name="heads_up_snooze_20min">20 phút</string>
</resources> </resources>

View File

@@ -419,4 +419,23 @@
<item>8000</item> <item>8000</item>
<item>10000</item> <item>10000</item>
</string-array> </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> </resources>

View File

@@ -488,6 +488,7 @@
<!-- Heads up --> <!-- Heads up -->
<string name="heads_up_notifications">Heads Up</string> <string name="heads_up_notifications">Heads Up</string>
<string name="notification_stat">Headsup</string>
<string name="heads_up_notifications_summary">Pop up statusbar notifications</string> <string name="heads_up_notifications_summary">Pop up statusbar notifications</string>
<string name="add_heads_up_package">Add app</string> <string name="add_heads_up_package">Add app</string>
<string name="heads_up_stoplist_title">Stoplist</string> <string name="heads_up_stoplist_title">Stoplist</string>
@@ -498,4 +499,15 @@
<string name="dialog_delete_title">Delete</string> <string name="dialog_delete_title">Delete</string>
<string name="dialog_delete_message">Remove selected item?</string> <string name="dialog_delete_message">Remove selected item?</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> </resources>

View File

@@ -23,6 +23,13 @@
android:entryValues="@array/heads_up_time_out_values" android:entryValues="@array/heads_up_time_out_values"
android:persistent="false" /> 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 <PreferenceCategory
android:title="@string/heads_up_stoplist_title" android:title="@string/heads_up_stoplist_title"
android:key="stoplist_applications" > android:key="stoplist_applications" >

View File

@@ -55,6 +55,7 @@ public class HeadsUp extends SettingsPreferenceFragment
private static final int DIALOG_STOPLIST_APPS = 0; private static final int DIALOG_STOPLIST_APPS = 0;
private static final int DIALOG_BLACKLIST_APPS = 1; 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_TIME_OUT = "heads_up_time_out";
private static final String PREF_HEADS_UP_SNOOZE_TIME = "heads_up_snooze_time";
private PackageListAdapter mPackageAdapter; private PackageListAdapter mPackageAdapter;
private PackageManager mPackageManager; private PackageManager mPackageManager;
@@ -63,6 +64,7 @@ public class HeadsUp extends SettingsPreferenceFragment
private Preference mAddStoplistPref; private Preference mAddStoplistPref;
private Preference mAddBlacklistPref; private Preference mAddBlacklistPref;
private ListPreference mHeadsUpTimeOut; private ListPreference mHeadsUpTimeOut;
private ListPreference mHeadsUpSnoozeTime;
private String mStoplistPackageList; private String mStoplistPackageList;
private String mBlacklistPackageList; private String mBlacklistPackageList;
@@ -107,6 +109,24 @@ public class HeadsUp extends SettingsPreferenceFragment
Settings.System.HEADS_UP_TIMEOUT, defaultTimeOut); Settings.System.HEADS_UP_TIMEOUT, defaultTimeOut);
mHeadsUpTimeOut.setValue(String.valueOf(headsUpTimeOut)); mHeadsUpTimeOut.setValue(String.valueOf(headsUpTimeOut));
updateHeadsUpTimeOutSummary(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);
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 @Override
@@ -118,6 +138,13 @@ public class HeadsUp extends SettingsPreferenceFragment
headsUpTimeOut); headsUpTimeOut);
updateHeadsUpTimeOutSummary(headsUpTimeOut); updateHeadsUpTimeOutSummary(headsUpTimeOut);
return true; 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; return false;
} }
@@ -128,6 +155,17 @@ public class HeadsUp extends SettingsPreferenceFragment
mHeadsUpTimeOut.setSummary(summary); 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 @Override
public void onResume() { public void onResume() {
super.onResume(); super.onResume();