summaryrefslogtreecommitdiff
path: root/packages/SettingsLib/src
diff options
context:
space:
mode:
author Ajay Nadathur <ajayns@google.com> 2017-09-08 05:09:26 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2017-09-08 05:09:26 +0000
commit2c1192999e9d2bc10e7b81fd8e2a48f90a13ba40 (patch)
tree136ac807fdab3b8db4e6c511c06e8a9095d35984 /packages/SettingsLib/src
parenta9910648ab4f92aef18881381ca6ecaaa830f4c5 (diff)
parent00932ebb963272f9a6be6587d0e3409228549196 (diff)
Merge "Add method to update tile's remoteview using summaryUri"
Diffstat (limited to 'packages/SettingsLib/src')
-rw-r--r--packages/SettingsLib/src/com/android/settingslib/drawer/TileUtils.java33
1 files changed, 24 insertions, 9 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/drawer/TileUtils.java b/packages/SettingsLib/src/com/android/settingslib/drawer/TileUtils.java
index fc0a444915c3..713e9675cccd 100644
--- a/packages/SettingsLib/src/com/android/settingslib/drawer/TileUtils.java
+++ b/packages/SettingsLib/src/com/android/settingslib/drawer/TileUtils.java
@@ -428,15 +428,6 @@ public class TileUtils {
if (metaData.containsKey(META_DATA_PREFERENCE_CUSTOM_VIEW)) {
int layoutId = metaData.getInt(META_DATA_PREFERENCE_CUSTOM_VIEW);
remoteViews = new RemoteViews(applicationInfo.packageName, layoutId);
- if (metaData.containsKey(META_DATA_PREFERENCE_SUMMARY_URI)) {
- String uriString = metaData.getString(
- META_DATA_PREFERENCE_SUMMARY_URI);
- String overrideSummary = getTextFromUri(context, uriString, providerMap,
- META_DATA_PREFERENCE_SUMMARY);
- if (overrideSummary != null) {
- remoteViews.setTextViewText(android.R.id.summary, overrideSummary);
- }
- }
}
}
} catch (PackageManager.NameNotFoundException | Resources.NotFoundException e) {
@@ -543,6 +534,30 @@ public class TileUtils {
}
}
+ public static void updateTileUsingSummaryUri(Context context, Tile tile) {
+ if (tile == null || tile.metaData == null ||
+ !tile.metaData.containsKey(META_DATA_PREFERENCE_SUMMARY_URI)) {
+ return;
+ }
+
+ final Map<String, IContentProvider> providerMap = new HashMap<>();
+
+ final String uriString = tile.metaData.getString(META_DATA_PREFERENCE_SUMMARY_URI);
+ final Bundle bundle = getBundleFromUri(context, uriString, providerMap);
+ final String overrideSummary = getString(bundle, META_DATA_PREFERENCE_SUMMARY);
+ final String overrideTitle = getString(bundle, META_DATA_PREFERENCE_TITLE);
+ if (overrideSummary != null) {
+ tile.remoteViews.setTextViewText(android.R.id.summary, overrideSummary);
+ }
+ if (overrideTitle != null) {
+ tile.remoteViews.setTextViewText(android.R.id.title, overrideTitle);
+ }
+ }
+
+ private static String getString(Bundle bundle, String key) {
+ return bundle == null ? null : bundle.getString(key);
+ }
+
private static IContentProvider getProviderFromUri(Context context, Uri uri,
Map<String, IContentProvider> providerMap) {
if (uri == null) {