Cleanup clock position[2/2]
Revert "Cherish:fix-up: statusbar clock date customization (2/2)" This reverts commit0b61f74039. Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com> Revert "Cherish: Add option to auto hide status-bar clock [2/2]" This reverts commit6bc14947d6. Revert "Cherish:Status bar clock/date customizations [2/2]" This reverts commiteb7d3bf5c1. Signed-off-by: Hưng Phan <phandinhhungvp2001@gmail.com>
This commit is contained in:
@@ -74,87 +74,6 @@
|
|||||||
<item>2</item>
|
<item>2</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<!-- Statusbar Clock -->
|
|
||||||
<string-array name="status_bar_clock_style_entries" translatable="false">
|
|
||||||
<item>@string/status_bar_clock_style_left</item>
|
|
||||||
<item>@string/status_bar_clock_style_center</item>
|
|
||||||
<item>@string/status_bar_clock_style_right</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<string-array name="status_bar_clock_style_values" translatable="false">
|
|
||||||
<item>0</item>
|
|
||||||
<item>1</item>
|
|
||||||
<item>2</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<string-array name="status_bar_am_pm_entries" translatable="false">
|
|
||||||
<item>@string/status_bar_am_pm_hidden</item>
|
|
||||||
<item>@string/status_bar_am_pm_small</item>
|
|
||||||
<item>@string/status_bar_am_pm_normal</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<string-array name="status_bar_am_pm_values" translatable="false">
|
|
||||||
<item>0</item>
|
|
||||||
<item>1</item>
|
|
||||||
<item>2</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<string-array name="clock_date_display_entries">
|
|
||||||
<item>@string/clock_date_display_none</item>
|
|
||||||
<item>@string/clock_date_display_small</item>
|
|
||||||
<item>@string/clock_date_display_normal</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<string-array name="clock_date_display_values" translatable="false">
|
|
||||||
<item>0</item>
|
|
||||||
<item>1</item>
|
|
||||||
<item>2</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<string-array name="clock_date_style_entries">
|
|
||||||
<item>@string/clock_date_style_normal</item>
|
|
||||||
<item>@string/clock_date_style_lowercase</item>
|
|
||||||
<item>@string/clock_date_style_uppercase</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<string-array name="clock_date_style_values" translatable="false">
|
|
||||||
<item>0</item>
|
|
||||||
<item>1</item>
|
|
||||||
<item>2</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<string-array name="clock_date_format_entries_values">
|
|
||||||
<item>dd/MM/yy</item>
|
|
||||||
<item>MM/dd/yy</item>
|
|
||||||
<item>yyyy-MM-dd</item>
|
|
||||||
<item>yyyy-dd-MM</item>
|
|
||||||
<item>dd-MM-yyyy</item>
|
|
||||||
<item>MM-dd-yyyy</item>
|
|
||||||
<item>MMM dd</item>
|
|
||||||
<item>MMM dd, yyyy</item>
|
|
||||||
<item>MMMM dd, yyyy</item>
|
|
||||||
<item>EEE</item>
|
|
||||||
<item>EEE dd</item>
|
|
||||||
<item>EEE dd/MM</item>
|
|
||||||
<item>EEE MM/dd</item>
|
|
||||||
<item>EEE dd MMM</item>
|
|
||||||
<item>EEE MMM dd</item>
|
|
||||||
<item>EEE MMMM dd</item>
|
|
||||||
<item>EEEE dd/MM</item>
|
|
||||||
<item>EEEE MM/dd</item>
|
|
||||||
<item>@string/clock_date_format_custom</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<string-array name="clock_date_position_entries" translatable="false">
|
|
||||||
<item>@string/clock_date_left</item>
|
|
||||||
<item>@string/clock_date_right</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<string-array name="clock_date_position_values" translatable="false">
|
|
||||||
<item>0</item>
|
|
||||||
<item>1</item>
|
|
||||||
</string-array>
|
|
||||||
|
|
||||||
<!-- VoLTE Icon Type -->
|
<!-- VoLTE Icon Type -->
|
||||||
<string-array name="volte_icon_type_entries" translatable="false">
|
<string-array name="volte_icon_type_entries" translatable="false">
|
||||||
<item>@string/volte_icon_vivo</item>
|
<item>@string/volte_icon_vivo</item>
|
||||||
|
|||||||
@@ -265,42 +265,6 @@
|
|||||||
<string name="quick_pulldown_right">Pulldown statusbar from right side</string>
|
<string name="quick_pulldown_right">Pulldown statusbar from right side</string>
|
||||||
<string name="quick_pulldown_left">Pulldown statusbar from left side</string>
|
<string name="quick_pulldown_left">Pulldown statusbar from left side</string>
|
||||||
|
|
||||||
<!-- Status bar clock and date options -->
|
|
||||||
<string name="status_bar_clock_date_title">Clock and date</string>
|
|
||||||
<string name="status_bar_clock_date_summary">Customize the statusbar clock and date</string>
|
|
||||||
<string name="status_bar_clock_title">Clock settings</string>
|
|
||||||
<string name="status_bar_clock_show">Show clock and date</string>
|
|
||||||
<string name="status_bar_clock_style_title">Clock style</string>
|
|
||||||
<string name="status_bar_clock_style_right">Right</string>
|
|
||||||
<string name="status_bar_clock_style_center">Center</string>
|
|
||||||
<string name="status_bar_clock_style_left">Left</string>
|
|
||||||
<string name="status_bar_am_pm_title">AM/PM style</string>
|
|
||||||
<string name="status_bar_am_pm_info">24-hour clock is enabled</string>
|
|
||||||
<string name="status_bar_am_pm_normal">Normal</string>
|
|
||||||
<string name="status_bar_am_pm_small">Small</string>
|
|
||||||
<string name="status_bar_am_pm_hidden">Hidden (default)</string>
|
|
||||||
<string name="clock_seconds_display">Show seconds</string>
|
|
||||||
<string name="status_bar_date_title">Date settings</string>
|
|
||||||
<string name="clock_date_display">Date</string>
|
|
||||||
<string name="clock_date_display_none">Don\'t show</string>
|
|
||||||
<string name="clock_date_display_small">Small font size</string>
|
|
||||||
<string name="clock_date_display_normal">Normal font size</string>
|
|
||||||
<string name="clock_date_style">Date style</string>
|
|
||||||
<string name="clock_date_style_normal">Normal</string>
|
|
||||||
<string name="clock_date_style_lowercase">Lowercase</string>
|
|
||||||
<string name="clock_date_style_uppercase">Uppercase</string>
|
|
||||||
<string name="clock_date_format_custom">Custom java format</string>
|
|
||||||
<string name="clock_date_format">Date format</string>
|
|
||||||
<string name="clock_date_string_edittext_title">Must be in DateFormat eg. MM/dd/yy</string>
|
|
||||||
<string name="clock_date_string_edittext_summary">Enter string</string>
|
|
||||||
<string name="clock_date_position">Date position</string>
|
|
||||||
<string name="clock_date_right">Right of time</string>
|
|
||||||
<string name="clock_date_left">Left of time</string>
|
|
||||||
<string name="status_bar_clock_auto_hide_title">Auto-hide clock</string>
|
|
||||||
<string name="status_bar_clock_auto_hide_summary">Hide and show clock at regular intervals of time</string>
|
|
||||||
<string name="status_bar_clock_auto_hide_hdur_title">Hide duration</string>
|
|
||||||
<string name="status_bar_clock_auto_hide_sdur_title">Show duration</string>
|
|
||||||
|
|
||||||
<!-- Incall vibrate options -->
|
<!-- Incall vibrate options -->
|
||||||
<string name="incall_vibration_category">In-call vibration options</string>
|
<string name="incall_vibration_category">In-call vibration options</string>
|
||||||
<string name="incall_vibrate_connect_title">Vibrate on connect</string>
|
<string name="incall_vibrate_connect_title">Vibrate on connect</string>
|
||||||
|
|||||||
@@ -30,11 +30,6 @@
|
|||||||
android:key="statusbar_icons"
|
android:key="statusbar_icons"
|
||||||
android:title="@string/sb_icons">
|
android:title="@string/sb_icons">
|
||||||
|
|
||||||
<Preference
|
|
||||||
android:title="@string/status_bar_clock_date_title"
|
|
||||||
android:summary="@string/status_bar_clock_date_summary"
|
|
||||||
android:fragment="com.cherish.settings.fragments.ClockDateSettings" />
|
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
android:key="traffic"
|
android:key="traffic"
|
||||||
android:fragment="com.cherish.settings.fragments.Traffic"
|
android:fragment="com.cherish.settings.fragments.Traffic"
|
||||||
|
|||||||
@@ -1,117 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
Copyright (C) 2018 AospExtended ROM Project
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
||||||
-->
|
|
||||||
<PreferenceScreen
|
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
|
|
||||||
|
|
||||||
<PreferenceCategory
|
|
||||||
|
|
||||||
android:title="@string/status_bar_clock_title">
|
|
||||||
|
|
||||||
<com.cherish.settings.preferences.SystemSettingSwitchPreference
|
|
||||||
android:key="status_bar_clock"
|
|
||||||
android:title="@string/status_bar_clock_show"
|
|
||||||
android:defaultValue="true" />
|
|
||||||
|
|
||||||
<ListPreference
|
|
||||||
android:key="statusbar_clock_style"
|
|
||||||
android:title="@string/status_bar_clock_style_title"
|
|
||||||
android:dialogTitle="@string/status_bar_clock_style_title"
|
|
||||||
android:entries="@array/status_bar_clock_style_entries"
|
|
||||||
android:entryValues="@array/status_bar_clock_style_values"
|
|
||||||
android:summary="%s"
|
|
||||||
android:dependency="status_bar_clock" />
|
|
||||||
|
|
||||||
<ListPreference
|
|
||||||
android:key="statusbar_clock_am_pm_style"
|
|
||||||
android:title="@string/status_bar_am_pm_title"
|
|
||||||
android:dialogTitle="@string/status_bar_am_pm_title"
|
|
||||||
android:entries="@array/status_bar_am_pm_entries"
|
|
||||||
android:entryValues="@array/status_bar_am_pm_values"
|
|
||||||
android:summary="%s"
|
|
||||||
android:dependency="status_bar_clock" />
|
|
||||||
|
|
||||||
<com.cherish.settings.preferences.SystemSettingSwitchPreference
|
|
||||||
android:key="status_bar_clock_seconds"
|
|
||||||
android:title="@string/clock_seconds_display"
|
|
||||||
android:dependency="status_bar_clock"
|
|
||||||
android:defaultValue="false" />
|
|
||||||
|
|
||||||
<com.cherish.settings.preferences.SystemSettingSwitchPreference
|
|
||||||
android:key="status_bar_clock_auto_hide"
|
|
||||||
android:title="@string/status_bar_clock_auto_hide_title"
|
|
||||||
android:summary="@string/status_bar_clock_auto_hide_summary"
|
|
||||||
android:defaultValue="false" />
|
|
||||||
|
|
||||||
<com.cherish.settings.preferences.SystemSettingSeekBarPreference
|
|
||||||
android:key="status_bar_clock_auto_hide_hduration"
|
|
||||||
android:title="@string/status_bar_clock_auto_hide_hdur_title"
|
|
||||||
android:max="300"
|
|
||||||
settings:min="5"
|
|
||||||
settings:interval="5"
|
|
||||||
settings:units="sec"
|
|
||||||
android:dependency="status_bar_clock_auto_hide"
|
|
||||||
android:defaultValue="60" />
|
|
||||||
|
|
||||||
<com.cherish.settings.preferences.SystemSettingSeekBarPreference
|
|
||||||
android:key="status_bar_clock_auto_hide_sduration"
|
|
||||||
android:title="@string/status_bar_clock_auto_hide_sdur_title"
|
|
||||||
android:max="300"
|
|
||||||
settings:min="5"
|
|
||||||
settings:interval="5"
|
|
||||||
settings:units="sec"
|
|
||||||
android:dependency="status_bar_clock_auto_hide"
|
|
||||||
android:defaultValue="5" />
|
|
||||||
|
|
||||||
</PreferenceCategory>
|
|
||||||
|
|
||||||
<PreferenceCategory
|
|
||||||
|
|
||||||
android:title="@string/status_bar_date_title">
|
|
||||||
|
|
||||||
<ListPreference
|
|
||||||
android:key="statusbar_clock_date_display"
|
|
||||||
android:title="@string/clock_date_display"
|
|
||||||
android:summary="%s"
|
|
||||||
android:entries="@array/clock_date_display_entries"
|
|
||||||
android:entryValues="@array/clock_date_display_values"
|
|
||||||
android:dependency="status_bar_clock" />
|
|
||||||
|
|
||||||
<ListPreference
|
|
||||||
android:key="statusbar_clock_date_position"
|
|
||||||
android:title="@string/clock_date_position"
|
|
||||||
android:summary="%s"
|
|
||||||
android:entries="@array/clock_date_position_entries"
|
|
||||||
android:entryValues="@array/clock_date_position_values"
|
|
||||||
android:dependency="statusbar_clock_date_display" />
|
|
||||||
|
|
||||||
<ListPreference
|
|
||||||
android:key="statusbar_clock_date_style"
|
|
||||||
android:title="@string/clock_date_style"
|
|
||||||
android:summary="%s"
|
|
||||||
android:entries="@array/clock_date_style_entries"
|
|
||||||
android:entryValues="@array/clock_date_style_values"
|
|
||||||
android:dependency="statusbar_clock_date_display" />
|
|
||||||
|
|
||||||
<ListPreference
|
|
||||||
android:key="statusbar_clock_date_format"
|
|
||||||
android:title="@string/clock_date_format"
|
|
||||||
android:summary="%s"
|
|
||||||
android:entries="@array/clock_date_format_entries_values"
|
|
||||||
android:entryValues="@array/clock_date_format_entries_values"
|
|
||||||
android:dependency="statusbar_clock_date_display" />
|
|
||||||
|
|
||||||
</PreferenceCategory>
|
|
||||||
|
|
||||||
</PreferenceScreen>
|
|
||||||
@@ -1,322 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2020 The CherishOS Project
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package com.cherish.settings.fragments;
|
|
||||||
|
|
||||||
import android.app.AlertDialog;
|
|
||||||
import android.content.ContentResolver;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.DialogInterface;
|
|
||||||
import android.content.DialogInterface.OnCancelListener;
|
|
||||||
import android.content.res.Resources;
|
|
||||||
import android.database.ContentObserver;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.provider.Settings;
|
|
||||||
import android.provider.SearchIndexableResource;
|
|
||||||
import androidx.preference.PreferenceCategory;
|
|
||||||
import androidx.preference.ListPreference;
|
|
||||||
import androidx.preference.Preference;
|
|
||||||
import androidx.preference.PreferenceScreen;
|
|
||||||
import androidx.preference.Preference.OnPreferenceChangeListener;
|
|
||||||
import androidx.preference.SwitchPreference;
|
|
||||||
import android.text.format.DateFormat;
|
|
||||||
import android.util.Log;
|
|
||||||
import android.view.View;
|
|
||||||
import android.widget.EditText;
|
|
||||||
|
|
||||||
import com.android.internal.logging.nano.MetricsProto;
|
|
||||||
import com.cherish.settings.preferences.SystemSettingSwitchPreference;
|
|
||||||
import com.cherish.settings.preferences.CustomSeekBarPreference;
|
|
||||||
import com.android.settings.R;
|
|
||||||
import com.android.settings.search.BaseSearchIndexProvider;
|
|
||||||
import com.android.settings.SettingsPreferenceFragment;
|
|
||||||
import com.android.settings.Utils;
|
|
||||||
|
|
||||||
import com.android.settingslib.search.Indexable;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class ClockDateSettings extends SettingsPreferenceFragment
|
|
||||||
implements Preference.OnPreferenceChangeListener, Indexable {
|
|
||||||
|
|
||||||
private static final String STATUS_BAR_CLOCK = "status_bar_clock";
|
|
||||||
private static final String STATUS_BAR_CLOCK_SECONDS = "status_bar_clock_seconds";
|
|
||||||
private static final String STATUS_BAR_CLOCK_STYLE = "statusbar_clock_style";
|
|
||||||
private static final String STATUS_BAR_AM_PM = "statusbar_clock_am_pm_style";
|
|
||||||
private static final String STATUS_BAR_CLOCK_DATE_DISPLAY = "statusbar_clock_date_display";
|
|
||||||
private static final String STATUS_BAR_CLOCK_DATE_STYLE = "statusbar_clock_date_style";
|
|
||||||
private static final String STATUS_BAR_CLOCK_DATE_FORMAT = "statusbar_clock_date_format";
|
|
||||||
|
|
||||||
public static final int CLOCK_DATE_STYLE_LOWERCASE = 1;
|
|
||||||
public static final int CLOCK_DATE_STYLE_UPPERCASE = 2;
|
|
||||||
private static final int CUSTOM_CLOCK_DATE_FORMAT_INDEX = 18;
|
|
||||||
private static final String STATUS_BAR_CLOCK_DATE_POSITION = "statusbar_clock_date_position";
|
|
||||||
|
|
||||||
private SystemSettingSwitchPreference mStatusBarClockShow;
|
|
||||||
private SystemSettingSwitchPreference mStatusBarSecondsShow;
|
|
||||||
private ListPreference mStatusBarClock;
|
|
||||||
private ListPreference mStatusBarAmPm;
|
|
||||||
private ListPreference mClockDateDisplay;
|
|
||||||
private ListPreference mClockDateStyle;
|
|
||||||
private ListPreference mClockDateFormat;
|
|
||||||
private ListPreference mClockDatePosition;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
addPreferencesFromResource(R.xml.clock_date_settings);
|
|
||||||
PreferenceScreen prefSet = getPreferenceScreen();
|
|
||||||
ContentResolver resolver = getActivity().getContentResolver();
|
|
||||||
|
|
||||||
// clock settings
|
|
||||||
mStatusBarClockShow = (SystemSettingSwitchPreference) findPreference(STATUS_BAR_CLOCK);
|
|
||||||
mStatusBarSecondsShow = (SystemSettingSwitchPreference) findPreference(STATUS_BAR_CLOCK_SECONDS);
|
|
||||||
mStatusBarClock = (ListPreference) findPreference(STATUS_BAR_CLOCK_STYLE);
|
|
||||||
mStatusBarAmPm = (ListPreference) findPreference(STATUS_BAR_AM_PM);
|
|
||||||
mClockDateDisplay = (ListPreference) findPreference(STATUS_BAR_CLOCK_DATE_DISPLAY);
|
|
||||||
mClockDateStyle = (ListPreference) findPreference(STATUS_BAR_CLOCK_DATE_STYLE);
|
|
||||||
mClockDatePosition = (ListPreference) findPreference(STATUS_BAR_CLOCK_DATE_POSITION);
|
|
||||||
|
|
||||||
mStatusBarClockShow.setChecked((Settings.System.getInt(resolver,
|
|
||||||
Settings.System.STATUSBAR_CLOCK, 1) == 1));
|
|
||||||
mStatusBarClockShow.setOnPreferenceChangeListener(this);
|
|
||||||
|
|
||||||
mStatusBarSecondsShow.setChecked((Settings.System.getInt(resolver,
|
|
||||||
Settings.System.STATUSBAR_CLOCK_SECONDS, 0) == 1));
|
|
||||||
mStatusBarSecondsShow.setOnPreferenceChangeListener(this);
|
|
||||||
|
|
||||||
int clockStyle = Settings.System.getInt(resolver,
|
|
||||||
Settings.System.STATUSBAR_CLOCK_STYLE, 0);
|
|
||||||
mStatusBarClock.setValue(String.valueOf(clockStyle));
|
|
||||||
mStatusBarClock.setSummary(mStatusBarClock.getEntry());
|
|
||||||
mStatusBarClock.setOnPreferenceChangeListener(this);
|
|
||||||
|
|
||||||
if (DateFormat.is24HourFormat(getActivity())) {
|
|
||||||
mStatusBarAmPm.setEnabled(false);
|
|
||||||
mStatusBarAmPm.setSummary(R.string.status_bar_am_pm_info);
|
|
||||||
} else {
|
|
||||||
int statusBarAmPm = Settings.System.getInt(resolver,
|
|
||||||
Settings.System.STATUSBAR_CLOCK_AM_PM_STYLE, 2);
|
|
||||||
mStatusBarAmPm.setValue(String.valueOf(statusBarAmPm));
|
|
||||||
mStatusBarAmPm.setSummary(mStatusBarAmPm.getEntry());
|
|
||||||
mStatusBarAmPm.setOnPreferenceChangeListener(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
// date settings
|
|
||||||
int clockDateDisplay = Settings.System.getInt(resolver,
|
|
||||||
Settings.System.STATUSBAR_CLOCK_DATE_DISPLAY, 0);
|
|
||||||
mClockDateDisplay.setValue(String.valueOf(clockDateDisplay));
|
|
||||||
mClockDateDisplay.setSummary(mClockDateDisplay.getEntry());
|
|
||||||
mClockDateDisplay.setOnPreferenceChangeListener(this);
|
|
||||||
|
|
||||||
int clockDateStyle = Settings.System.getInt(resolver,
|
|
||||||
Settings.System.STATUSBAR_CLOCK_DATE_STYLE, 0);
|
|
||||||
mClockDateStyle.setValue(String.valueOf(clockDateStyle));
|
|
||||||
mClockDateStyle.setSummary(mClockDateStyle.getEntry());
|
|
||||||
mClockDateStyle.setOnPreferenceChangeListener(this);
|
|
||||||
|
|
||||||
mClockDateFormat = (ListPreference) findPreference(STATUS_BAR_CLOCK_DATE_FORMAT);
|
|
||||||
mClockDateFormat.setOnPreferenceChangeListener(this);
|
|
||||||
String value = Settings.System.getString(getActivity().getContentResolver(),
|
|
||||||
Settings.System.STATUSBAR_CLOCK_DATE_FORMAT);
|
|
||||||
|
|
||||||
if (value == null || value.isEmpty()) {
|
|
||||||
value = "EEE";
|
|
||||||
}
|
|
||||||
|
|
||||||
int index = mClockDateFormat.findIndexOfValue((String) value);
|
|
||||||
if (index == -1) {
|
|
||||||
mClockDateFormat.setValueIndex(CUSTOM_CLOCK_DATE_FORMAT_INDEX);
|
|
||||||
} else {
|
|
||||||
mClockDateFormat.setValue(value);
|
|
||||||
}
|
|
||||||
parseClockDateFormats();
|
|
||||||
|
|
||||||
mClockDatePosition.setValue(Integer.toString(Settings.System.getInt(getActivity()
|
|
||||||
.getContentResolver(), Settings.System.STATUSBAR_CLOCK_DATE_POSITION,
|
|
||||||
0)));
|
|
||||||
mClockDatePosition.setSummary(mClockDatePosition.getEntry());
|
|
||||||
mClockDatePosition.setOnPreferenceChangeListener(this);
|
|
||||||
|
|
||||||
int clockDatePosition = Settings.System.getInt(resolver,
|
|
||||||
Settings.System.STATUSBAR_CLOCK_DATE_POSITION, 0);
|
|
||||||
mClockDatePosition.setValue(String.valueOf(clockDatePosition));
|
|
||||||
mClockDatePosition.setSummary(mClockDatePosition.getEntry());
|
|
||||||
mClockDatePosition.setOnPreferenceChangeListener(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
|
||||||
AlertDialog dialog;
|
|
||||||
|
|
||||||
if (preference == mStatusBarClockShow) {
|
|
||||||
boolean value = (Boolean) newValue;
|
|
||||||
Settings.System.putInt(getActivity().getContentResolver(),
|
|
||||||
Settings.System.STATUSBAR_CLOCK, value ? 1 : 0);
|
|
||||||
return true;
|
|
||||||
} else if (preference == mStatusBarSecondsShow) {
|
|
||||||
boolean value = (Boolean) newValue;
|
|
||||||
Settings.System.putInt(getActivity().getContentResolver(),
|
|
||||||
Settings.System.STATUSBAR_CLOCK_SECONDS, value ? 1 : 0);
|
|
||||||
return true;
|
|
||||||
} else if (preference == mStatusBarClock) {
|
|
||||||
int clockStyle = Integer.parseInt((String) newValue);
|
|
||||||
int index = mStatusBarClock.findIndexOfValue((String) newValue);
|
|
||||||
Settings.System.putInt(getActivity().getContentResolver(),
|
|
||||||
Settings.System.STATUSBAR_CLOCK_STYLE, clockStyle);
|
|
||||||
mStatusBarClock.setSummary(mStatusBarClock.getEntries()[index]);
|
|
||||||
return true;
|
|
||||||
} else if (preference == mStatusBarAmPm) {
|
|
||||||
int statusBarAmPm = Integer.valueOf((String) newValue);
|
|
||||||
int index = mStatusBarAmPm.findIndexOfValue((String) newValue);
|
|
||||||
Settings.System.putInt(getActivity().getContentResolver(),
|
|
||||||
Settings.System.STATUSBAR_CLOCK_AM_PM_STYLE, statusBarAmPm);
|
|
||||||
mStatusBarAmPm.setSummary(mStatusBarAmPm.getEntries()[index]);
|
|
||||||
return true;
|
|
||||||
} else if (preference == mClockDateDisplay) {
|
|
||||||
int clockDateDisplay = Integer.valueOf((String) newValue);
|
|
||||||
int index = mClockDateDisplay.findIndexOfValue((String) newValue);
|
|
||||||
Settings.System.putInt(getActivity().getContentResolver(),
|
|
||||||
Settings.System.STATUSBAR_CLOCK_DATE_DISPLAY, clockDateDisplay);
|
|
||||||
mClockDateDisplay.setSummary(mClockDateDisplay.getEntries()[index]);
|
|
||||||
if (clockDateDisplay == 0) {
|
|
||||||
mClockDateStyle.setEnabled(false);
|
|
||||||
mClockDateFormat.setEnabled(false);
|
|
||||||
mClockDatePosition.setEnabled(false);
|
|
||||||
} else {
|
|
||||||
mClockDateStyle.setEnabled(true);
|
|
||||||
mClockDateFormat.setEnabled(true);
|
|
||||||
mClockDatePosition.setEnabled(true);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
} else if (preference == mClockDateStyle) {
|
|
||||||
int clockDateStyle = Integer.valueOf((String) newValue);
|
|
||||||
int index = mClockDateStyle.findIndexOfValue((String) newValue);
|
|
||||||
Settings.System.putInt(getActivity().getContentResolver(),
|
|
||||||
Settings.System.STATUSBAR_CLOCK_DATE_STYLE, clockDateStyle);
|
|
||||||
mClockDateStyle.setSummary(mClockDateStyle.getEntries()[index]);
|
|
||||||
parseClockDateFormats();
|
|
||||||
return true;
|
|
||||||
} else if (preference == mClockDateFormat) {
|
|
||||||
int index = mClockDateFormat.findIndexOfValue((String) newValue);
|
|
||||||
|
|
||||||
if (index == CUSTOM_CLOCK_DATE_FORMAT_INDEX) {
|
|
||||||
AlertDialog.Builder alert = new AlertDialog.Builder(getActivity());
|
|
||||||
alert.setTitle(R.string.clock_date_string_edittext_title);
|
|
||||||
alert.setMessage(R.string.clock_date_string_edittext_summary);
|
|
||||||
|
|
||||||
final EditText input = new EditText(getActivity());
|
|
||||||
String oldText = Settings.System.getString(
|
|
||||||
getActivity().getContentResolver(),
|
|
||||||
Settings.System.STATUSBAR_CLOCK_DATE_FORMAT);
|
|
||||||
if (oldText != null) {
|
|
||||||
input.setText(oldText);
|
|
||||||
}
|
|
||||||
alert.setView(input);
|
|
||||||
|
|
||||||
alert.setPositiveButton(R.string.menu_save, new DialogInterface.OnClickListener() {
|
|
||||||
public void onClick(DialogInterface dialogInterface, int whichButton) {
|
|
||||||
String value = input.getText().toString();
|
|
||||||
if (value.equals("")) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Settings.System.putString(getActivity().getContentResolver(),
|
|
||||||
Settings.System.STATUSBAR_CLOCK_DATE_FORMAT, value);
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
alert.setNegativeButton(R.string.menu_cancel,
|
|
||||||
new DialogInterface.OnClickListener() {
|
|
||||||
public void onClick(DialogInterface dialogInterface, int which) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
dialog = alert.create();
|
|
||||||
dialog.show();
|
|
||||||
} else {
|
|
||||||
if ((String) newValue != null) {
|
|
||||||
Settings.System.putString(getActivity().getContentResolver(),
|
|
||||||
Settings.System.STATUSBAR_CLOCK_DATE_FORMAT, (String) newValue);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
} else if (preference == mClockDatePosition) {
|
|
||||||
int val = Integer.parseInt((String) newValue);
|
|
||||||
int index = mClockDatePosition.findIndexOfValue((String) newValue);
|
|
||||||
Settings.System.putInt(getActivity().getContentResolver(),
|
|
||||||
Settings.System.STATUSBAR_CLOCK_DATE_POSITION, val);
|
|
||||||
mClockDatePosition.setSummary(mClockDatePosition.getEntries()[index]);
|
|
||||||
parseClockDateFormats();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void parseClockDateFormats() {
|
|
||||||
String[] dateEntries = getResources().getStringArray(R.array.clock_date_format_entries_values);
|
|
||||||
CharSequence parsedDateEntries[];
|
|
||||||
parsedDateEntries = new String[dateEntries.length];
|
|
||||||
Date now = new Date();
|
|
||||||
int lastEntry = dateEntries.length - 1;
|
|
||||||
int dateFormat = Settings.System.getInt(getActivity()
|
|
||||||
.getContentResolver(), Settings.System.STATUSBAR_CLOCK_DATE_STYLE, 0);
|
|
||||||
for (int i = 0; i < dateEntries.length; i++) {
|
|
||||||
if (i == lastEntry) {
|
|
||||||
parsedDateEntries[i] = dateEntries[i];
|
|
||||||
} else {
|
|
||||||
String newDate;
|
|
||||||
CharSequence dateString = DateFormat.format(dateEntries[i], now);
|
|
||||||
if (dateFormat == CLOCK_DATE_STYLE_LOWERCASE) {
|
|
||||||
newDate = dateString.toString().toLowerCase();
|
|
||||||
} else if (dateFormat == CLOCK_DATE_STYLE_UPPERCASE) {
|
|
||||||
newDate = dateString.toString().toUpperCase();
|
|
||||||
} else {
|
|
||||||
newDate = dateString.toString();
|
|
||||||
}
|
|
||||||
parsedDateEntries[i] = newDate;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
mClockDateFormat.setEntries(parsedDateEntries);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getMetricsCategory() {
|
|
||||||
return MetricsProto.MetricsEvent.CHERISH_SETTINGS;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
|
||||||
new BaseSearchIndexProvider() {
|
|
||||||
@Override
|
|
||||||
public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
|
|
||||||
boolean enabled) {
|
|
||||||
final ArrayList<SearchIndexableResource> result = new ArrayList<>();
|
|
||||||
final SearchIndexableResource sir = new SearchIndexableResource(context);
|
|
||||||
sir.xmlResId = R.xml.clock_date_settings;
|
|
||||||
result.add(sir);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<String> getNonIndexableKeys(Context context) {
|
|
||||||
final List<String> keys = super.getNonIndexableKeys(context);
|
|
||||||
return keys;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user