Loading packages/SettingsLib/src/com/android/settingslib/drawer/TileUtils.java +25 −13 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.content.pm.ResolveInfo; import android.content.res.Resources; import android.graphics.drawable.Icon; import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; import android.os.RemoteException; import android.os.UserHandle; Loading Loading @@ -546,18 +547,27 @@ public class TileUtils { } } public static void updateTileUsingSummaryUri(Context context, Tile tile) { public static void updateTileUsingSummaryUri(Context context, final Tile tile) { if (tile == null || tile.metaData == null || !tile.metaData.containsKey(META_DATA_PREFERENCE_SUMMARY_URI)) { return; } final Map<String, IContentProvider> providerMap = new HashMap<>(); new AsyncTask<Void, Void, Bundle>() { @Override protected Bundle doInBackground(Void... params) { return getBundleFromUri(context, tile.metaData.getString(META_DATA_PREFERENCE_SUMMARY_URI), new HashMap<>()); } final String uriString = tile.metaData.getString(META_DATA_PREFERENCE_SUMMARY_URI); final Bundle bundle = getBundleFromUri(context, uriString, providerMap); @Override protected void onPostExecute(Bundle bundle) { if (bundle == null) { return; } 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); } Loading @@ -565,6 +575,8 @@ public class TileUtils { tile.remoteViews.setTextViewText(android.R.id.title, overrideTitle); } } }.execute(); } private static String getString(Bundle bundle, String key) { return bundle == null ? null : bundle.getString(key); Loading packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/TileUtilsTest.java +3 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; import java.util.ArrayList; import java.util.Collections; Loading Loading @@ -438,6 +439,8 @@ public class TileUtilsTest { tile.metaData.putString(TileUtils.META_DATA_PREFERENCE_SUMMARY_URI, URI_GET_SUMMARY); tile.remoteViews = mock(RemoteViews.class); TileUtils.updateTileUsingSummaryUri(mContext, tile); ShadowApplication.runBackgroundTasks(); verify(tile.remoteViews, times(1)).setTextViewText(anyInt(), eq(expectedSummary)); } Loading Loading
packages/SettingsLib/src/com/android/settingslib/drawer/TileUtils.java +25 −13 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.content.pm.ResolveInfo; import android.content.res.Resources; import android.graphics.drawable.Icon; import android.net.Uri; import android.os.AsyncTask; import android.os.Bundle; import android.os.RemoteException; import android.os.UserHandle; Loading Loading @@ -546,18 +547,27 @@ public class TileUtils { } } public static void updateTileUsingSummaryUri(Context context, Tile tile) { public static void updateTileUsingSummaryUri(Context context, final Tile tile) { if (tile == null || tile.metaData == null || !tile.metaData.containsKey(META_DATA_PREFERENCE_SUMMARY_URI)) { return; } final Map<String, IContentProvider> providerMap = new HashMap<>(); new AsyncTask<Void, Void, Bundle>() { @Override protected Bundle doInBackground(Void... params) { return getBundleFromUri(context, tile.metaData.getString(META_DATA_PREFERENCE_SUMMARY_URI), new HashMap<>()); } final String uriString = tile.metaData.getString(META_DATA_PREFERENCE_SUMMARY_URI); final Bundle bundle = getBundleFromUri(context, uriString, providerMap); @Override protected void onPostExecute(Bundle bundle) { if (bundle == null) { return; } 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); } Loading @@ -565,6 +575,8 @@ public class TileUtils { tile.remoteViews.setTextViewText(android.R.id.title, overrideTitle); } } }.execute(); } private static String getString(Bundle bundle, String key) { return bundle == null ? null : bundle.getString(key); Loading
packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/TileUtilsTest.java +3 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,7 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; import java.util.ArrayList; import java.util.Collections; Loading Loading @@ -438,6 +439,8 @@ public class TileUtilsTest { tile.metaData.putString(TileUtils.META_DATA_PREFERENCE_SUMMARY_URI, URI_GET_SUMMARY); tile.remoteViews = mock(RemoteViews.class); TileUtils.updateTileUsingSummaryUri(mContext, tile); ShadowApplication.runBackgroundTasks(); verify(tile.remoteViews, times(1)).setTextViewText(anyInt(), eq(expectedSummary)); } Loading