aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Mortimer <sam@mortimer.me.uk>2017-09-19 15:29:24 -0700
committerSam Mortimer <sam@mortimer.me.uk>2017-10-09 16:50:05 +0000
commit2041fae2c5f9f4f0f5837ed9e15c2126d195d56c (patch)
tree1c052b178508b4eaad4eb2aa1c1a1e84d20c8777
parent83a7945dd5c8361f9f4a8747dbb9cab13fa2090a (diff)
downloadlineage-sdk-2041fae2c5f9f4f0f5837ed9e15c2126d195d56c.tar.gz
lineage-sdk-2041fae2c5f9f4f0f5837ed9e15c2126d195d56c.tar.bz2
lineage-sdk-2041fae2c5f9f4f0f5837ed9e15c2126d195d56c.zip
Remove dependency on framework settings getDelimitedStringAsList()
The *DelimitedString* settings methods that we patched into frameworks/base in <= 14.1 aren't used by anything else so move the minimum code needed here thereby allowing us not to have to add the frameworks commit to 15.0. Link to previous code that was in 14.1: https://review.lineageos.org/#/c/65703/ Change-Id: I3ec10e406e642ee90f5c2dbd89e598ea97682f67
-rw-r--r--packages/LineageSettingsProvider/src/org/lineageos/lineagesettings/LineageSettingsProvider.java20
1 files changed, 18 insertions, 2 deletions
diff --git a/packages/LineageSettingsProvider/src/org/lineageos/lineagesettings/LineageSettingsProvider.java b/packages/LineageSettingsProvider/src/org/lineageos/lineagesettings/LineageSettingsProvider.java
index d481378a..445a5d15 100644
--- a/packages/LineageSettingsProvider/src/org/lineageos/lineagesettings/LineageSettingsProvider.java
+++ b/packages/LineageSettingsProvider/src/org/lineageos/lineagesettings/LineageSettingsProvider.java
@@ -50,10 +50,12 @@ import org.lineageos.internal.util.QSUtils;
import lineageos.providers.LineageSettings;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.regex.Pattern;
/**
* The LineageSettingsProvider serves as a {@link ContentProvider} for Lineage specific settings
@@ -226,8 +228,8 @@ public class LineageSettingsProvider extends ContentProvider {
+ settingsValue);
}
- final List<String> tiles = Settings.Secure.getDelimitedStringAsList(
- contentResolver, settingsKey, ",");
+ final List<String> tiles = delimitedStringToList(
+ Settings.Secure.getString(contentResolver, settingsKey), ",");
if (!tiles.contains(QSConstants.TILE_DND)) {
tiles.add(QSConstants.TILE_DND);
@@ -284,6 +286,20 @@ public class LineageSettingsProvider extends ContentProvider {
return rowsInserted;
}
+ private List<String> delimitedStringToList(String s, String delimiter) {
+ List<String> list = new ArrayList<String>();
+ if (!TextUtils.isEmpty(s)) {
+ final String[] array = TextUtils.split(s, Pattern.quote(delimiter));
+ for (String item : array) {
+ if (TextUtils.isEmpty(item)) {
+ continue;
+ }
+ list.add(item);
+ }
+ }
+ return list;
+ }
+
/**
* Performs cleanup for the removed user.
* @param userId The id of the user that is removed.