@@ -54,9 +54,9 @@ public class LockColors extends SettingsPreferenceFragment implements Preference
|
||||
private static final String LOCKSCREEN_CLOCK_COLOR = "lockscreen_clock_color";
|
||||
private static final String LOCKSCREEN_CLOCK_DATE_COLOR = "lockscreen_clock_date_color";
|
||||
private static final String LOCKSCREEN_OWNER_INFO_COLOR = "lockscreen_owner_info_color";
|
||||
/* private static final String LOCKSCREEN_WEATHER_TEMP_COLOR = "lockscreen_weather_temp_color";
|
||||
private static final String LOCKSCREEN_WEATHER_TEMP_COLOR = "lockscreen_weather_temp_color";
|
||||
private static final String LOCKSCREEN_WEATHER_CITY_COLOR = "lockscreen_weather_city_color";
|
||||
private static final String LOCKSCREEN_WEATHER_ICON_COLOR = "lockscreen_weather_icon_color";*/
|
||||
private static final String LOCKSCREEN_WEATHER_ICON_COLOR = "lockscreen_weather_icon_color";
|
||||
|
||||
static final int DEFAULT = 0xffffffff;
|
||||
static final int TRANSPARENT = 0x99FFFFFF;
|
||||
@@ -69,9 +69,9 @@ public class LockColors extends SettingsPreferenceFragment implements Preference
|
||||
private ColorPickerPreference mLockscreenClockColorPicker;
|
||||
private ColorPickerPreference mLockscreenClockDateColorPicker;
|
||||
private ColorPickerPreference mLockscreenOwnerInfoColorPicker;
|
||||
/*private ColorPickerPreference mWeatherRightTextColorPicker;
|
||||
private ColorPickerPreference mWeatherRightTextColorPicker;
|
||||
private ColorPickerPreference mWeatherLeftTextColorPicker;
|
||||
private ColorPickerPreference mWeatherIconColorPicker;*/
|
||||
private ColorPickerPreference mWeatherIconColorPicker;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
@@ -132,7 +132,7 @@ public class LockColors extends SettingsPreferenceFragment implements Preference
|
||||
hexColor = String.format("#%08x", (0xffffffff & intColor));
|
||||
mLockscreenOwnerInfoColorPicker.setSummary(hexColor);
|
||||
mLockscreenOwnerInfoColorPicker.setNewPreviewColor(intColor);
|
||||
/*
|
||||
|
||||
mWeatherRightTextColorPicker = (ColorPickerPreference) findPreference(LOCKSCREEN_WEATHER_TEMP_COLOR);
|
||||
mWeatherRightTextColorPicker.setOnPreferenceChangeListener(this);
|
||||
intColor = Settings.System.getInt(getContentResolver(),
|
||||
@@ -156,7 +156,7 @@ public class LockColors extends SettingsPreferenceFragment implements Preference
|
||||
hexColor = String.format("#%08x", (0x99FFFFFF & intColor));
|
||||
mWeatherIconColorPicker.setSummary(hexColor);
|
||||
mWeatherIconColorPicker.setNewPreviewColor(intColor);
|
||||
*/
|
||||
|
||||
setHasOptionsMenu(true);
|
||||
}
|
||||
|
||||
@@ -210,7 +210,7 @@ public class LockColors extends SettingsPreferenceFragment implements Preference
|
||||
Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(),
|
||||
Settings.System.LOCKSCREEN_OWNER_INFO_COLOR, intHex);
|
||||
return true;
|
||||
/* } else if (preference == mWeatherRightTextColorPicker) {
|
||||
} else if (preference == mWeatherRightTextColorPicker) {
|
||||
String hex = ColorPickerPreference.convertToARGB(
|
||||
Integer.valueOf(String.valueOf(newValue)));
|
||||
preference.setSummary(hex);
|
||||
@@ -233,7 +233,7 @@ public class LockColors extends SettingsPreferenceFragment implements Preference
|
||||
int intHex = ColorPickerPreference.convertToColorInt(hex);
|
||||
Settings.System.putInt(getActivity().getApplicationContext().getContentResolver(),
|
||||
Settings.System.LOCK_SCREEN_WEATHER_ICON_COLOR, intHex);
|
||||
return true;*/
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -295,7 +295,7 @@ public class LockColors extends SettingsPreferenceFragment implements Preference
|
||||
Settings.System.LOCKSCREEN_OWNER_INFO_COLOR, DEFAULT);
|
||||
mLockscreenOwnerInfoColorPicker.setNewPreviewColor(DEFAULT);
|
||||
mLockscreenOwnerInfoColorPicker.setSummary(R.string.default_string);
|
||||
/*Settings.System.putInt(getContentResolver(),
|
||||
Settings.System.putInt(getContentResolver(),
|
||||
Settings.System.LOCK_SCREEN_WEATHER_TEMP_COLOR, DEFAULT);
|
||||
mWeatherRightTextColorPicker.setNewPreviewColor(DEFAULT);
|
||||
mWeatherRightTextColorPicker.setSummary(R.string.default_string);
|
||||
@@ -306,7 +306,7 @@ public class LockColors extends SettingsPreferenceFragment implements Preference
|
||||
Settings.System.putInt(getContentResolver(),
|
||||
Settings.System.LOCK_SCREEN_WEATHER_ICON_COLOR, DEFAULT);
|
||||
mWeatherIconColorPicker.setNewPreviewColor(DEFAULT);
|
||||
mWeatherIconColorPicker.setSummary(R.string.default_string);*/
|
||||
mWeatherIconColorPicker.setSummary(R.string.default_string);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -319,6 +319,3 @@ public class LockColors extends SettingsPreferenceFragment implements Preference
|
||||
return MetricsProto.MetricsEvent.CHERISH_SETTINGS;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,218 @@
|
||||
/*
|
||||
* Copyright (C) 2017 The OmniROM Project
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
package com.cherish.settings.fragments;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.database.Cursor;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import androidx.preference.ListPreference;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceCategory;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import android.provider.SearchIndexableResource;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.SettingsPreferenceFragment;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.search.BaseSearchIndexProvider;
|
||||
import com.android.settingslib.search.SearchIndexable;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Arrays;
|
||||
import java.util.ArrayList;
|
||||
|
||||
@SearchIndexable
|
||||
public class OmniJawsSettings extends SettingsPreferenceFragment implements
|
||||
Preference.OnPreferenceChangeListener {
|
||||
private static final String TAG = "OmniJawsSettings";
|
||||
private static final String CATEGORY_WEATHER = "weather_category";
|
||||
private static final String WEATHER_ICON_PACK = "weather_icon_pack";
|
||||
private static final String DEFAULT_WEATHER_ICON_PACKAGE = "org.omnirom.omnijaws";
|
||||
private static final String DEFAULT_WEATHER_ICON_PREFIX = "outline";
|
||||
private static final String WEATHER_SERVICE_PACKAGE = "org.omnirom.omnijaws";
|
||||
private static final String CHRONUS_ICON_PACK_INTENT = "com.dvtonder.chronus.ICON_PACK";
|
||||
private static final String LOCK_WEATHER_TEMP_FONTS = "lock_weather_temp_fonts";
|
||||
private static final String LOCK_WEATHER_CITY_FONTS = "lock_weather_city_fonts";
|
||||
|
||||
private PreferenceCategory mWeatherCategory;
|
||||
private ListPreference mWeatherIconPack;
|
||||
ListPreference mLockTempFonts;
|
||||
ListPreference mLockCityFonts;
|
||||
|
||||
@Override
|
||||
public int getMetricsCategory() {
|
||||
return MetricsEvent.CHERISH_SETTINGS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
addPreferencesFromResource(R.xml.omnijaws_settings);
|
||||
final PreferenceScreen prefScreen = getPreferenceScreen();
|
||||
|
||||
mWeatherCategory = (PreferenceCategory) prefScreen.findPreference(CATEGORY_WEATHER);
|
||||
if (mWeatherCategory != null) {
|
||||
prefScreen.removePreference(mWeatherCategory);
|
||||
} else {
|
||||
String settingHeaderPackage = Settings.System.getString(getContentResolver(),
|
||||
Settings.System.OMNIJAWS_WEATHER_ICON_PACK);
|
||||
if (settingHeaderPackage == null) {
|
||||
settingHeaderPackage = DEFAULT_WEATHER_ICON_PACKAGE + "." + DEFAULT_WEATHER_ICON_PREFIX;
|
||||
}
|
||||
mWeatherIconPack = (ListPreference) findPreference(WEATHER_ICON_PACK);
|
||||
|
||||
List<String> entries = new ArrayList<String>();
|
||||
List<String> values = new ArrayList<String>();
|
||||
getAvailableWeatherIconPacks(entries, values);
|
||||
mWeatherIconPack.setEntries(entries.toArray(new String[entries.size()]));
|
||||
mWeatherIconPack.setEntryValues(values.toArray(new String[values.size()]));
|
||||
|
||||
int valueIndex = mWeatherIconPack.findIndexOfValue(settingHeaderPackage);
|
||||
if (valueIndex == -1) {
|
||||
// no longer found
|
||||
settingHeaderPackage = DEFAULT_WEATHER_ICON_PACKAGE + "." + DEFAULT_WEATHER_ICON_PREFIX;
|
||||
Settings.System.putString(getContentResolver(),
|
||||
Settings.System.OMNIJAWS_WEATHER_ICON_PACK, settingHeaderPackage);
|
||||
valueIndex = mWeatherIconPack.findIndexOfValue(settingHeaderPackage);
|
||||
}
|
||||
mWeatherIconPack.setValueIndex(valueIndex >= 0 ? valueIndex : 0);
|
||||
mWeatherIconPack.setSummary(mWeatherIconPack.getEntry());
|
||||
mWeatherIconPack.setOnPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
// Lockscren Weather Temp Fonts
|
||||
mLockTempFonts = (ListPreference) findPreference(LOCK_WEATHER_TEMP_FONTS);
|
||||
mLockTempFonts.setValue(String.valueOf(Settings.System.getInt(
|
||||
getContentResolver(), Settings.System.LOCK_WEATHER_TEMP_FONTS, 27)));
|
||||
mLockTempFonts.setSummary(mLockTempFonts.getEntry());
|
||||
mLockTempFonts.setOnPreferenceChangeListener(this);
|
||||
|
||||
// Lockscren Weather City Fonts
|
||||
mLockCityFonts = (ListPreference) findPreference(LOCK_WEATHER_CITY_FONTS);
|
||||
mLockCityFonts.setValue(String.valueOf(Settings.System.getInt(
|
||||
getContentResolver(), Settings.System.LOCK_WEATHER_CITY_FONTS, 27)));
|
||||
mLockCityFonts.setSummary(mLockCityFonts.getEntry());
|
||||
mLockCityFonts.setOnPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
public boolean onPreferenceChange(Preference preference, Object objValue) {
|
||||
if (preference == mWeatherIconPack) {
|
||||
String value = (String) objValue;
|
||||
Settings.System.putString(getContentResolver(),
|
||||
Settings.System.OMNIJAWS_WEATHER_ICON_PACK, value);
|
||||
int valueIndex = mWeatherIconPack.findIndexOfValue(value);
|
||||
mWeatherIconPack.setSummary(mWeatherIconPack.getEntries()[valueIndex]);
|
||||
return true;
|
||||
} else if (preference == mLockTempFonts) {
|
||||
Settings.System.putInt(getContentResolver(), Settings.System.LOCK_WEATHER_TEMP_FONTS,
|
||||
Integer.valueOf((String) objValue));
|
||||
mLockTempFonts.setValue(String.valueOf(objValue));
|
||||
mLockTempFonts.setSummary(mLockTempFonts.getEntry());
|
||||
return true;
|
||||
} else if (preference == mLockCityFonts) {
|
||||
Settings.System.putInt(getContentResolver(), Settings.System.LOCK_WEATHER_CITY_FONTS,
|
||||
Integer.valueOf((String) objValue));
|
||||
mLockCityFonts.setValue(String.valueOf(objValue));
|
||||
mLockCityFonts.setSummary(mLockCityFonts.getEntry());
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private void getAvailableWeatherIconPacks(List<String> entries, List<String> values) {
|
||||
Intent i = new Intent();
|
||||
PackageManager packageManager = getPackageManager();
|
||||
i.setAction("org.omnirom.WeatherIconPack");
|
||||
for (ResolveInfo r : packageManager.queryIntentActivities(i, 0)) {
|
||||
String packageName = r.activityInfo.packageName;
|
||||
if (packageName.equals(DEFAULT_WEATHER_ICON_PACKAGE)) {
|
||||
values.add(0, r.activityInfo.name);
|
||||
} else {
|
||||
values.add(r.activityInfo.name);
|
||||
}
|
||||
String label = r.activityInfo.loadLabel(getPackageManager()).toString();
|
||||
if (label == null) {
|
||||
label = r.activityInfo.packageName;
|
||||
}
|
||||
if (packageName.equals(DEFAULT_WEATHER_ICON_PACKAGE)) {
|
||||
entries.add(0, label);
|
||||
} else {
|
||||
entries.add(label);
|
||||
}
|
||||
}
|
||||
i = new Intent(Intent.ACTION_MAIN);
|
||||
i.addCategory(CHRONUS_ICON_PACK_INTENT);
|
||||
for (ResolveInfo r : packageManager.queryIntentActivities(i, 0)) {
|
||||
String packageName = r.activityInfo.packageName;
|
||||
values.add(packageName + ".weather");
|
||||
String label = r.activityInfo.loadLabel(getPackageManager()).toString();
|
||||
if (label == null) {
|
||||
label = r.activityInfo.packageName;
|
||||
}
|
||||
entries.add(label);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isOmniJawsEnabled() {
|
||||
final Uri SETTINGS_URI
|
||||
= Uri.parse("content://org.omnirom.omnijaws.provider/settings");
|
||||
|
||||
final String[] SETTINGS_PROJECTION = new String[] {
|
||||
"enabled"
|
||||
};
|
||||
|
||||
final Cursor c = getContentResolver().query(SETTINGS_URI, SETTINGS_PROJECTION,
|
||||
null, null, null);
|
||||
if (c != null) {
|
||||
int count = c.getCount();
|
||||
if (count == 1) {
|
||||
c.moveToPosition(0);
|
||||
boolean enabled = c.getInt(0) == 1;
|
||||
return enabled;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
||||
new BaseSearchIndexProvider() {
|
||||
|
||||
@Override
|
||||
public List<SearchIndexableResource> getXmlResourcesToIndex(
|
||||
Context context, boolean enabled) {
|
||||
final SearchIndexableResource sir = new SearchIndexableResource(context);
|
||||
sir.xmlResId = R.xml.omnijaws_settings;
|
||||
return Arrays.asList(sir);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getNonIndexableKeys(Context context) {
|
||||
ArrayList<String> result = new ArrayList<String>();
|
||||
return result;
|
||||
}
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user