summaryrefslogtreecommitdiff
path: root/packages/SettingsLib/src
diff options
context:
space:
mode:
author Ajay Nadathur <ajayns@google.com> 2017-08-30 14:56:46 -0700
committer Ajay Nadathur <ajayns@google.com> 2017-09-07 11:50:28 -0700
commit00932ebb963272f9a6be6587d0e3409228549196 (patch)
tree2e008825bc64f06014c5bc7352da68bca6b9657d /packages/SettingsLib/src
parentadd1dd4b0def821280aa24b5725e39b3a64917cc (diff)
Add method to update tile's remoteview using summaryUri
- Calling com.android.settingslib.drawer.TileUtils#updateTileData no longer sets the summary in RemoteView. - To update summary and title of remoteview, com.android.settingslib.drawer.TileUtils#updateTileUsingSummaryUri should be called bug: 62713030 Test: Added robolectric tests, also manually tested settings Change-Id: I8c63601a901d5b140e36baec424c226724c43bc4
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) {