Loading packages/SettingsLib/src/com/android/settingslib/drawer/CategoryManager.java +6 −14 Original line number Diff line number Diff line Loading @@ -17,12 +17,13 @@ package com.android.settingslib.drawer; import android.content.ComponentName; import android.content.Context; import androidx.annotation.VisibleForTesting; import android.util.ArrayMap; import android.util.ArraySet; import android.util.Log; import android.util.Pair; import androidx.annotation.VisibleForTesting; import com.android.settingslib.applications.InterestingConfigChanges; import java.util.ArrayList; Loading @@ -32,10 +33,10 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import static java.lang.String.CASE_INSENSITIVE_ORDER; public class CategoryManager { public static final String SETTING_PKG = "com.android.settings"; private static final String TAG = "CategoryManager"; private static CategoryManager sInstance; Loading Loading @@ -70,22 +71,13 @@ public class CategoryManager { } public synchronized DashboardCategory getTilesByCategory(Context context, String categoryKey) { return getTilesByCategory(context, categoryKey, TileUtils.SETTING_PKG); } public synchronized DashboardCategory getTilesByCategory(Context context, String categoryKey, String settingPkg) { tryInitCategories(context, settingPkg); tryInitCategories(context, SETTING_PKG); return mCategoryByKeyMap.get(categoryKey); } public synchronized List<DashboardCategory> getCategories(Context context) { return getCategories(context, TileUtils.SETTING_PKG); } public synchronized List<DashboardCategory> getCategories(Context context, String settingPkg) { tryInitCategories(context, settingPkg); tryInitCategories(context, SETTING_PKG); return mCategories; } Loading packages/SettingsLib/src/com/android/settingslib/drawer/Tile.java +0 −7 Original line number Diff line number Diff line Loading @@ -95,11 +95,6 @@ public class Tile implements Parcelable { */ public String key; /** * Optional remote view which will be displayed instead of the regular title-summary item. */ public RemoteViews remoteViews; public Tile() { // Empty } Loading Loading @@ -135,7 +130,6 @@ public class Tile implements Parcelable { dest.writeInt(priority); dest.writeBundle(metaData); dest.writeString(key); dest.writeParcelable(remoteViews, flags); dest.writeBoolean(isIconTintable); } Loading @@ -157,7 +151,6 @@ public class Tile implements Parcelable { priority = in.readInt(); metaData = in.readBundle(); key = in.readString(); remoteViews = in.readParcelable(RemoteViews.class.getClassLoader()); isIconTintable = in.readBoolean(); } Loading packages/SettingsLib/src/com/android/settingslib/drawer/TileUtils.java +1 −35 Original line number Diff line number Diff line Loading @@ -166,8 +166,6 @@ public class TileUtils { public static final String META_DATA_PREFERENCE_SUMMARY_URI = "com.android.settings.summary_uri"; public static final String SETTING_PKG = "com.android.settings"; /** * Value for {@link #META_DATA_KEY_PROFILE}. When the device has a managed profile, * the app will always be run in the primary profile. Loading Loading @@ -280,15 +278,6 @@ public class TileUtils { Context context, UserHandle user, Intent intent, Map<Pair<String, String>, Tile> addedCache, String defaultCategory, List<Tile> outTiles, boolean usePriority, boolean checkCategory, boolean forceTintExternalIcon) { getTilesForIntent(context, user, intent, addedCache, defaultCategory, outTiles, usePriority, checkCategory, forceTintExternalIcon, false /* shouldUpdateTiles */); } public static void getTilesForIntent( Context context, UserHandle user, Intent intent, Map<Pair<String, String>, Tile> addedCache, String defaultCategory, List<Tile> outTiles, boolean usePriority, boolean checkCategory, boolean forceTintExternalIcon, boolean shouldUpdateTiles) { PackageManager pm = context.getPackageManager(); List<ResolveInfo> results = pm.queryIntentActivitiesAsUser(intent, PackageManager.GET_META_DATA, user.getIdentifier()); Loading @@ -313,8 +302,7 @@ public class TileUtils { categoryKey = metaData.getString(EXTRA_CATEGORY_KEY); } Pair<String, String> key = new Pair<String, String>(activityInfo.packageName, activityInfo.name); Pair<String, String> key = new Pair<>(activityInfo.packageName, activityInfo.name); Tile tile = addedCache.get(key); if (tile == null) { tile = new Tile(); Loading @@ -327,8 +315,6 @@ public class TileUtils { pm, providerMap, forceTintExternalIcon); if (DEBUG) Log.d(LOG_TAG, "Adding tile " + tile.title); addedCache.put(key, tile); } else if (shouldUpdateTiles) { updateSummaryAndTitle(context, providerMap, tile); } if (!tile.userHandle.contains(user)) { Loading Loading @@ -435,26 +421,6 @@ public class TileUtils { return false; } private static void updateSummaryAndTitle( Context context, Map<String, IContentProvider> providerMap, Tile tile) { if (tile == null || tile.metaData == null || !tile.metaData.containsKey(META_DATA_PREFERENCE_SUMMARY_URI)) { return; } String uriString = tile.metaData.getString(META_DATA_PREFERENCE_SUMMARY_URI); Bundle bundle = getBundleFromUri(context, uriString, providerMap); String overrideSummary = getString(bundle, META_DATA_PREFERENCE_SUMMARY); 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); } } /** * Gets the icon package name and resource id from content provider. * @param context context Loading packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/CategoryKeyTest.java +3 −1 Original line number Diff line number Diff line Loading @@ -20,13 +20,15 @@ import static com.google.common.truth.Truth.assertThat; import android.util.ArraySet; import com.android.settingslib.SettingsLibRobolectricTestRunner; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; import java.util.Set; @RunWith(RobolectricTestRunner.class) @RunWith(SettingsLibRobolectricTestRunner.class) public class CategoryKeyTest { @Test Loading packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/TileTest.java +4 −1 Original line number Diff line number Diff line Loading @@ -7,12 +7,15 @@ import static com.android.settingslib.drawer.TileUtils.PROFILE_ALL; import static com.android.settingslib.drawer.TileUtils.PROFILE_PRIMARY; import android.os.Bundle; import com.android.settingslib.SettingsLibRobolectricTestRunner; import org.junit.Before; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; import org.junit.Test; @RunWith(RobolectricTestRunner.class) @RunWith(SettingsLibRobolectricTestRunner.class) public class TileTest { private Tile mTile; Loading Loading
packages/SettingsLib/src/com/android/settingslib/drawer/CategoryManager.java +6 −14 Original line number Diff line number Diff line Loading @@ -17,12 +17,13 @@ package com.android.settingslib.drawer; import android.content.ComponentName; import android.content.Context; import androidx.annotation.VisibleForTesting; import android.util.ArrayMap; import android.util.ArraySet; import android.util.Log; import android.util.Pair; import androidx.annotation.VisibleForTesting; import com.android.settingslib.applications.InterestingConfigChanges; import java.util.ArrayList; Loading @@ -32,10 +33,10 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import static java.lang.String.CASE_INSENSITIVE_ORDER; public class CategoryManager { public static final String SETTING_PKG = "com.android.settings"; private static final String TAG = "CategoryManager"; private static CategoryManager sInstance; Loading Loading @@ -70,22 +71,13 @@ public class CategoryManager { } public synchronized DashboardCategory getTilesByCategory(Context context, String categoryKey) { return getTilesByCategory(context, categoryKey, TileUtils.SETTING_PKG); } public synchronized DashboardCategory getTilesByCategory(Context context, String categoryKey, String settingPkg) { tryInitCategories(context, settingPkg); tryInitCategories(context, SETTING_PKG); return mCategoryByKeyMap.get(categoryKey); } public synchronized List<DashboardCategory> getCategories(Context context) { return getCategories(context, TileUtils.SETTING_PKG); } public synchronized List<DashboardCategory> getCategories(Context context, String settingPkg) { tryInitCategories(context, settingPkg); tryInitCategories(context, SETTING_PKG); return mCategories; } Loading
packages/SettingsLib/src/com/android/settingslib/drawer/Tile.java +0 −7 Original line number Diff line number Diff line Loading @@ -95,11 +95,6 @@ public class Tile implements Parcelable { */ public String key; /** * Optional remote view which will be displayed instead of the regular title-summary item. */ public RemoteViews remoteViews; public Tile() { // Empty } Loading Loading @@ -135,7 +130,6 @@ public class Tile implements Parcelable { dest.writeInt(priority); dest.writeBundle(metaData); dest.writeString(key); dest.writeParcelable(remoteViews, flags); dest.writeBoolean(isIconTintable); } Loading @@ -157,7 +151,6 @@ public class Tile implements Parcelable { priority = in.readInt(); metaData = in.readBundle(); key = in.readString(); remoteViews = in.readParcelable(RemoteViews.class.getClassLoader()); isIconTintable = in.readBoolean(); } Loading
packages/SettingsLib/src/com/android/settingslib/drawer/TileUtils.java +1 −35 Original line number Diff line number Diff line Loading @@ -166,8 +166,6 @@ public class TileUtils { public static final String META_DATA_PREFERENCE_SUMMARY_URI = "com.android.settings.summary_uri"; public static final String SETTING_PKG = "com.android.settings"; /** * Value for {@link #META_DATA_KEY_PROFILE}. When the device has a managed profile, * the app will always be run in the primary profile. Loading Loading @@ -280,15 +278,6 @@ public class TileUtils { Context context, UserHandle user, Intent intent, Map<Pair<String, String>, Tile> addedCache, String defaultCategory, List<Tile> outTiles, boolean usePriority, boolean checkCategory, boolean forceTintExternalIcon) { getTilesForIntent(context, user, intent, addedCache, defaultCategory, outTiles, usePriority, checkCategory, forceTintExternalIcon, false /* shouldUpdateTiles */); } public static void getTilesForIntent( Context context, UserHandle user, Intent intent, Map<Pair<String, String>, Tile> addedCache, String defaultCategory, List<Tile> outTiles, boolean usePriority, boolean checkCategory, boolean forceTintExternalIcon, boolean shouldUpdateTiles) { PackageManager pm = context.getPackageManager(); List<ResolveInfo> results = pm.queryIntentActivitiesAsUser(intent, PackageManager.GET_META_DATA, user.getIdentifier()); Loading @@ -313,8 +302,7 @@ public class TileUtils { categoryKey = metaData.getString(EXTRA_CATEGORY_KEY); } Pair<String, String> key = new Pair<String, String>(activityInfo.packageName, activityInfo.name); Pair<String, String> key = new Pair<>(activityInfo.packageName, activityInfo.name); Tile tile = addedCache.get(key); if (tile == null) { tile = new Tile(); Loading @@ -327,8 +315,6 @@ public class TileUtils { pm, providerMap, forceTintExternalIcon); if (DEBUG) Log.d(LOG_TAG, "Adding tile " + tile.title); addedCache.put(key, tile); } else if (shouldUpdateTiles) { updateSummaryAndTitle(context, providerMap, tile); } if (!tile.userHandle.contains(user)) { Loading Loading @@ -435,26 +421,6 @@ public class TileUtils { return false; } private static void updateSummaryAndTitle( Context context, Map<String, IContentProvider> providerMap, Tile tile) { if (tile == null || tile.metaData == null || !tile.metaData.containsKey(META_DATA_PREFERENCE_SUMMARY_URI)) { return; } String uriString = tile.metaData.getString(META_DATA_PREFERENCE_SUMMARY_URI); Bundle bundle = getBundleFromUri(context, uriString, providerMap); String overrideSummary = getString(bundle, META_DATA_PREFERENCE_SUMMARY); 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); } } /** * Gets the icon package name and resource id from content provider. * @param context context Loading
packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/CategoryKeyTest.java +3 −1 Original line number Diff line number Diff line Loading @@ -20,13 +20,15 @@ import static com.google.common.truth.Truth.assertThat; import android.util.ArraySet; import com.android.settingslib.SettingsLibRobolectricTestRunner; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; import java.util.Set; @RunWith(RobolectricTestRunner.class) @RunWith(SettingsLibRobolectricTestRunner.class) public class CategoryKeyTest { @Test Loading
packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/TileTest.java +4 −1 Original line number Diff line number Diff line Loading @@ -7,12 +7,15 @@ import static com.android.settingslib.drawer.TileUtils.PROFILE_ALL; import static com.android.settingslib.drawer.TileUtils.PROFILE_PRIMARY; import android.os.Bundle; import com.android.settingslib.SettingsLibRobolectricTestRunner; import org.junit.Before; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; import org.junit.Test; @RunWith(RobolectricTestRunner.class) @RunWith(SettingsLibRobolectricTestRunner.class) public class TileTest { private Tile mTile; Loading