Cherish: HeadsUp: add timeout option (2/2)
Forward ported to marshmallow/nougat By: @BeansTown106 removed the none option as we now have a headsup minimum time of 2seconds added 5sec option as that is the new default in marshmallow Change-Id: I6fe5aa72ce68f28ee9c57520e36d4800a9263546
This commit is contained in:
@@ -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_seconds_display">Hiển thị giây</string>
|
<string name="clock_giây_display">Hiển thị giây</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_giây_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>
|
||||||
@@ -435,4 +435,13 @@
|
|||||||
<string name="profile_choose_app">Chọn ứng dụng</string>
|
<string name="profile_choose_app">Chọn ứng dụng</string>
|
||||||
<string name="dialog_delete_title">Xóa</string>
|
<string name="dialog_delete_title">Xóa</string>
|
||||||
<string name="dialog_delete_message">Xóa mục đã chọn?</string>
|
<string name="dialog_delete_message">Xóa mục đã chọn?</string>
|
||||||
|
<!-- Heads up timeout -->
|
||||||
|
<string name="heads_up_time_out_title">Hết giờ</string>
|
||||||
|
<string name="heads_up_time_out_summary">Thông báo nhìn nhanh sẽ hiển thị cho <xliff:g id="number">%d</xliff:g> giây</string>
|
||||||
|
<string name="heads_up_time_out_2sec">2 giây</string>
|
||||||
|
<string name="heads_up_time_out_4sec">4 giây</string>
|
||||||
|
<string name="heads_up_time_out_5sec">5 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_10sec">10 giây</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -400,4 +400,23 @@
|
|||||||
<item>2</item>
|
<item>2</item>
|
||||||
<item>3</item>
|
<item>3</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
|
<!-- Heads up timeout -->
|
||||||
|
<string-array name="heads_up_time_out_entries" translatable="false">
|
||||||
|
<item>@string/heads_up_time_out_2sec</item>
|
||||||
|
<item>@string/heads_up_time_out_4sec</item>
|
||||||
|
<item>@string/heads_up_time_out_5sec</item>
|
||||||
|
<item>@string/heads_up_time_out_6sec</item>
|
||||||
|
<item>@string/heads_up_time_out_8sec</item>
|
||||||
|
<item>@string/heads_up_time_out_10sec</item>
|
||||||
|
</string-array>
|
||||||
|
|
||||||
|
<string-array name="heads_up_time_out_values" translatable="false">
|
||||||
|
<item>2000</item>
|
||||||
|
<item>4000</item>
|
||||||
|
<item>5000</item>
|
||||||
|
<item>6000</item>
|
||||||
|
<item>8000</item>
|
||||||
|
<item>10000</item>
|
||||||
|
</string-array>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -476,6 +476,16 @@
|
|||||||
<string name="gaming_mode_dynamic_title">Dynamic mode</string>
|
<string name="gaming_mode_dynamic_title">Dynamic mode</string>
|
||||||
<string name="gaming_mode_dynamic_summary">Try detecting and adding gaming apps automatically</string>
|
<string name="gaming_mode_dynamic_summary">Try detecting and adding gaming apps automatically</string>
|
||||||
|
|
||||||
|
<!-- Heads up timeout -->
|
||||||
|
<string name="heads_up_time_out_title">Time out</string>
|
||||||
|
<string name="heads_up_time_out_summary">Peeking notifications will show for <xliff:g id="number">%d</xliff:g> seconds</string>
|
||||||
|
<string name="heads_up_time_out_2sec">2 seconds</string>
|
||||||
|
<string name="heads_up_time_out_4sec">4 seconds</string>
|
||||||
|
<string name="heads_up_time_out_5sec">5 seconds</string>
|
||||||
|
<string name="heads_up_time_out_6sec">6 seconds</string>
|
||||||
|
<string name="heads_up_time_out_8sec">8 seconds</string>
|
||||||
|
<string name="heads_up_time_out_10sec">10 seconds</string>
|
||||||
|
|
||||||
<!-- Heads up -->
|
<!-- Heads up -->
|
||||||
<string name="heads_up_notifications">Heads Up</string>
|
<string name="heads_up_notifications">Heads Up</string>
|
||||||
<string name="heads_up_notifications_summary">Pop up statusbar notifications</string>
|
<string name="heads_up_notifications_summary">Pop up statusbar notifications</string>
|
||||||
|
|||||||
@@ -16,6 +16,13 @@
|
|||||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:title="@string/heads_up_notifications">
|
android:title="@string/heads_up_notifications">
|
||||||
|
|
||||||
|
<ListPreference
|
||||||
|
android:key="heads_up_time_out"
|
||||||
|
android:title="@string/heads_up_time_out_title"
|
||||||
|
android:entries="@array/heads_up_time_out_entries"
|
||||||
|
android:entryValues="@array/heads_up_time_out_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" >
|
||||||
|
|||||||
@@ -22,7 +22,9 @@ import android.content.DialogInterface;
|
|||||||
import android.content.pm.PackageInfo;
|
import android.content.pm.PackageInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.pm.PackageManager.NameNotFoundException;
|
import android.content.pm.PackageManager.NameNotFoundException;
|
||||||
|
import android.content.res.Resources;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import androidx.preference.ListPreference;
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
import androidx.preference.PreferenceGroup;
|
import androidx.preference.PreferenceGroup;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
@@ -48,10 +50,11 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class HeadsUp extends SettingsPreferenceFragment
|
public class HeadsUp extends SettingsPreferenceFragment
|
||||||
implements Preference.OnPreferenceClickListener {
|
implements Preference.OnPreferenceClickListener, Preference.OnPreferenceChangeListener {
|
||||||
|
|
||||||
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 PackageListAdapter mPackageAdapter;
|
private PackageListAdapter mPackageAdapter;
|
||||||
private PackageManager mPackageManager;
|
private PackageManager mPackageManager;
|
||||||
@@ -59,6 +62,7 @@ public class HeadsUp extends SettingsPreferenceFragment
|
|||||||
private PreferenceGroup mBlacklistPrefList;
|
private PreferenceGroup mBlacklistPrefList;
|
||||||
private Preference mAddStoplistPref;
|
private Preference mAddStoplistPref;
|
||||||
private Preference mAddBlacklistPref;
|
private Preference mAddBlacklistPref;
|
||||||
|
private ListPreference mHeadsUpTimeOut;
|
||||||
|
|
||||||
private String mStoplistPackageList;
|
private String mStoplistPackageList;
|
||||||
private String mBlacklistPackageList;
|
private String mBlacklistPackageList;
|
||||||
@@ -87,6 +91,41 @@ public class HeadsUp extends SettingsPreferenceFragment
|
|||||||
|
|
||||||
mAddStoplistPref.setOnPreferenceClickListener(this);
|
mAddStoplistPref.setOnPreferenceClickListener(this);
|
||||||
mAddBlacklistPref.setOnPreferenceClickListener(this);
|
mAddBlacklistPref.setOnPreferenceClickListener(this);
|
||||||
|
|
||||||
|
Resources systemUiResources;
|
||||||
|
try {
|
||||||
|
systemUiResources = getPackageManager().getResourcesForApplication("com.android.systemui");
|
||||||
|
} catch (Exception e) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int defaultTimeOut = systemUiResources.getInteger(systemUiResources.getIdentifier(
|
||||||
|
"com.android.systemui:integer/heads_up_notification_decay", null, null));
|
||||||
|
mHeadsUpTimeOut = (ListPreference) findPreference(PREF_HEADS_UP_TIME_OUT);
|
||||||
|
mHeadsUpTimeOut.setOnPreferenceChangeListener(this);
|
||||||
|
int headsUpTimeOut = Settings.System.getInt(getContentResolver(),
|
||||||
|
Settings.System.HEADS_UP_TIMEOUT, defaultTimeOut);
|
||||||
|
mHeadsUpTimeOut.setValue(String.valueOf(headsUpTimeOut));
|
||||||
|
updateHeadsUpTimeOutSummary(headsUpTimeOut);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||||
|
if (preference == mHeadsUpTimeOut) {
|
||||||
|
int headsUpTimeOut = Integer.valueOf((String) newValue);
|
||||||
|
Settings.System.putInt(getContentResolver(),
|
||||||
|
Settings.System.HEADS_UP_TIMEOUT,
|
||||||
|
headsUpTimeOut);
|
||||||
|
updateHeadsUpTimeOutSummary(headsUpTimeOut);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateHeadsUpTimeOutSummary(int value) {
|
||||||
|
String summary = getResources().getString(R.string.heads_up_time_out_summary,
|
||||||
|
value / 1000);
|
||||||
|
mHeadsUpTimeOut.setSummary(summary);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user