Remove priority from intent-filters for IA items
And use ORDER metadata instead. Bug: 77600770 Test: robotests Change-Id: I9862c89ff5b601fbb9fb53eaa91f03d95d501284
This commit is contained in:
@@ -183,9 +183,10 @@
|
|||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
<category android:name="android.intent.category.VOICE_LAUNCH" />
|
<category android:name="android.intent.category.VOICE_LAUNCH" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<intent-filter android:priority="11">
|
<intent-filter>
|
||||||
<action android:name="com.android.settings.action.SETTINGS"/>
|
<action android:name="com.android.settings.action.SETTINGS"/>
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
<meta-data android:name="com.android.settings.order" android:value="11"/>
|
||||||
<meta-data android:name="com.android.settings.category"
|
<meta-data android:name="com.android.settings.category"
|
||||||
android:value="com.android.settings.category.ia.homepage"/>
|
android:value="com.android.settings.category.ia.homepage"/>
|
||||||
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
||||||
@@ -208,9 +209,10 @@
|
|||||||
<action android:name="android.settings.BLUETOOTH_SETTINGS" />
|
<action android:name="android.settings.BLUETOOTH_SETTINGS" />
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<intent-filter android:priority="10">
|
<intent-filter>
|
||||||
<action android:name="com.android.settings.action.SETTINGS"/>
|
<action android:name="com.android.settings.action.SETTINGS"/>
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
<meta-data android:name="com.android.settings.order" android:value="10"/>
|
||||||
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
||||||
android:value="com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment"/>
|
android:value="com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment"/>
|
||||||
<meta-data android:name="com.android.settings.category"
|
<meta-data android:name="com.android.settings.category"
|
||||||
@@ -889,9 +891,10 @@
|
|||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
<category android:name="com.android.settings.SHORTCUT" />
|
<category android:name="com.android.settings.SHORTCUT" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<intent-filter android:priority="7">
|
<intent-filter>
|
||||||
<action android:name="com.android.settings.action.SETTINGS" />
|
<action android:name="com.android.settings.action.SETTINGS" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
<meta-data android:name="com.android.settings.order" android:value="7"/>
|
||||||
<meta-data android:name="com.android.settings.category"
|
<meta-data android:name="com.android.settings.category"
|
||||||
android:value="com.android.settings.category.ia.homepage" />
|
android:value="com.android.settings.category.ia.homepage" />
|
||||||
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
||||||
@@ -1252,9 +1255,10 @@
|
|||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
<category android:name="android.intent.category.VOICE_LAUNCH" />
|
<category android:name="android.intent.category.VOICE_LAUNCH" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<intent-filter android:priority="4">
|
<intent-filter>
|
||||||
<action android:name="com.android.settings.action.SETTINGS" />
|
<action android:name="com.android.settings.action.SETTINGS" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
<meta-data android:name="com.android.settings.order" android:value="4"/>
|
||||||
<meta-data android:name="com.android.settings.category"
|
<meta-data android:name="com.android.settings.category"
|
||||||
android:value="com.android.settings.category.ia.homepage" />
|
android:value="com.android.settings.category.ia.homepage" />
|
||||||
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
||||||
@@ -1405,9 +1409,10 @@
|
|||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
<category android:name="com.android.settings.SHORTCUT" />
|
<category android:name="com.android.settings.SHORTCUT" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<intent-filter android:priority="2">
|
<intent-filter>
|
||||||
<action android:name="com.android.settings.action.SETTINGS" />
|
<action android:name="com.android.settings.action.SETTINGS" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
<meta-data android:name="com.android.settings.order" android:value="2"/>
|
||||||
<meta-data android:name="com.android.settings.category"
|
<meta-data android:name="com.android.settings.category"
|
||||||
android:value="com.android.settings.category.ia.homepage" />
|
android:value="com.android.settings.category.ia.homepage" />
|
||||||
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
||||||
@@ -1738,9 +1743,10 @@
|
|||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
<category android:name="com.android.settings.SHORTCUT" />
|
<category android:name="com.android.settings.SHORTCUT" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<intent-filter android:priority="5">
|
<intent-filter>
|
||||||
<action android:name="com.android.settings.action.SETTINGS" />
|
<action android:name="com.android.settings.action.SETTINGS" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
<meta-data android:name="com.android.settings.order" android:value="5"/>
|
||||||
<meta-data android:name="com.android.settings.category"
|
<meta-data android:name="com.android.settings.category"
|
||||||
android:value="com.android.settings.category.ia.homepage" />
|
android:value="com.android.settings.category.ia.homepage" />
|
||||||
<meta-data android:name="com.android.settings.title"
|
<meta-data android:name="com.android.settings.title"
|
||||||
@@ -2133,9 +2139,10 @@
|
|||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
<category android:name="com.android.settings.SHORTCUT" />
|
<category android:name="com.android.settings.SHORTCUT" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<intent-filter android:priority="8">
|
<intent-filter>
|
||||||
<action android:name="com.android.settings.action.SETTINGS" />
|
<action android:name="com.android.settings.action.SETTINGS" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
<meta-data android:name="com.android.settings.order" android:value="8"/>
|
||||||
<meta-data android:name="com.android.settings.category"
|
<meta-data android:name="com.android.settings.category"
|
||||||
android:value="com.android.settings.category.ia.homepage" />
|
android:value="com.android.settings.category.ia.homepage" />
|
||||||
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
||||||
@@ -2504,9 +2511,10 @@
|
|||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
<category android:name="com.android.settings.SHORTCUT" />
|
<category android:name="com.android.settings.SHORTCUT" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<intent-filter android:priority="6">
|
<intent-filter>
|
||||||
<action android:name="com.android.settings.action.SETTINGS" />
|
<action android:name="com.android.settings.action.SETTINGS" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
<meta-data android:name="com.android.settings.order" android:value="6"/>
|
||||||
<meta-data android:name="com.android.settings.category"
|
<meta-data android:name="com.android.settings.category"
|
||||||
android:value="com.android.settings.category.ia.homepage" />
|
android:value="com.android.settings.category.ia.homepage" />
|
||||||
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
||||||
@@ -2925,9 +2933,10 @@
|
|||||||
android:icon="@drawable/ic_homepage_apps"
|
android:icon="@drawable/ic_homepage_apps"
|
||||||
android:taskAffinity="com.android.settings"
|
android:taskAffinity="com.android.settings"
|
||||||
android:parentActivityName="Settings">
|
android:parentActivityName="Settings">
|
||||||
<intent-filter android:priority="9">
|
<intent-filter>
|
||||||
<action android:name="com.android.settings.action.SETTINGS"/>
|
<action android:name="com.android.settings.action.SETTINGS"/>
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
<meta-data android:name="com.android.settings.order" android:value="9"/>
|
||||||
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
||||||
android:value="com.android.settings.applications.AppAndNotificationDashboardFragment"/>
|
android:value="com.android.settings.applications.AppAndNotificationDashboardFragment"/>
|
||||||
<meta-data android:name="com.android.settings.category"
|
<meta-data android:name="com.android.settings.category"
|
||||||
@@ -2942,7 +2951,7 @@
|
|||||||
android:icon="@drawable/ic_homepage_accounts"
|
android:icon="@drawable/ic_homepage_accounts"
|
||||||
android:taskAffinity="com.android.settings"
|
android:taskAffinity="com.android.settings"
|
||||||
android:parentActivityName="Settings">
|
android:parentActivityName="Settings">
|
||||||
<intent-filter android:priority="3">
|
<intent-filter>
|
||||||
<action android:name="com.android.settings.action.SETTINGS"/>
|
<action android:name="com.android.settings.action.SETTINGS"/>
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<intent-filter android:priority="1">
|
<intent-filter android:priority="1">
|
||||||
@@ -2953,6 +2962,7 @@
|
|||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
<category android:name="com.android.settings.SHORTCUT" />
|
<category android:name="com.android.settings.SHORTCUT" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
<meta-data android:name="com.android.settings.order" android:value="3"/>
|
||||||
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
||||||
android:value="com.android.settings.accounts.AccountDashboardFragment"/>
|
android:value="com.android.settings.accounts.AccountDashboardFragment"/>
|
||||||
<meta-data android:name="com.android.settings.category"
|
<meta-data android:name="com.android.settings.category"
|
||||||
@@ -2967,13 +2977,14 @@
|
|||||||
android:icon="@drawable/ic_homepage_system_dashboard"
|
android:icon="@drawable/ic_homepage_system_dashboard"
|
||||||
android:taskAffinity="com.android.settings"
|
android:taskAffinity="com.android.settings"
|
||||||
android:parentActivityName="Settings">
|
android:parentActivityName="Settings">
|
||||||
<intent-filter android:priority="-1">
|
<intent-filter>
|
||||||
<action android:name="com.android.settings.action.SETTINGS"/>
|
<action android:name="com.android.settings.action.SETTINGS"/>
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<intent-filter android:priority="70">
|
<intent-filter android:priority="70">
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
<category android:name="com.android.settings.SHORTCUT" />
|
<category android:name="com.android.settings.SHORTCUT" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
<meta-data android:name="com.android.settings.order" android:value="-1"/>
|
||||||
<meta-data android:name="com.android.settings.category"
|
<meta-data android:name="com.android.settings.category"
|
||||||
android:value="com.android.settings.category.ia.homepage"/>
|
android:value="com.android.settings.category.ia.homepage"/>
|
||||||
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
|
||||||
@@ -2987,13 +2998,14 @@
|
|||||||
android:icon="@drawable/ic_homepage_support"
|
android:icon="@drawable/ic_homepage_support"
|
||||||
android:theme="@android:style/Theme.DeviceDefault.Light.Panel"
|
android:theme="@android:style/Theme.DeviceDefault.Light.Panel"
|
||||||
android:enabled="@bool/config_support_enabled">
|
android:enabled="@bool/config_support_enabled">
|
||||||
<intent-filter android:priority="-2">
|
<intent-filter>
|
||||||
<action android:name="com.android.settings.action.SETTINGS"/>
|
<action android:name="com.android.settings.action.SETTINGS"/>
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="com.android.settings.action.SUPPORT_SETTINGS" />
|
<action android:name="com.android.settings.action.SUPPORT_SETTINGS" />
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
|
<meta-data android:name="com.android.settings.order" android:value="-2"/>
|
||||||
<meta-data android:name="com.android.settings.category"
|
<meta-data android:name="com.android.settings.category"
|
||||||
android:value="com.android.settings.category.ia.homepage"/>
|
android:value="com.android.settings.category.ia.homepage"/>
|
||||||
<meta-data android:name="com.android.settings.summary"
|
<meta-data android:name="com.android.settings.summary"
|
||||||
|
@@ -61,8 +61,6 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
|
|||||||
private static final String TAG = "DashboardFeatureImpl";
|
private static final String TAG = "DashboardFeatureImpl";
|
||||||
private static final String DASHBOARD_TILE_PREF_KEY_PREFIX = "dashboard_tile_pref_";
|
private static final String DASHBOARD_TILE_PREF_KEY_PREFIX = "dashboard_tile_pref_";
|
||||||
private static final String META_DATA_KEY_INTENT_ACTION = "com.android.settings.intent.action";
|
private static final String META_DATA_KEY_INTENT_ACTION = "com.android.settings.intent.action";
|
||||||
@VisibleForTesting
|
|
||||||
static final String META_DATA_KEY_ORDER = "com.android.settings.order";
|
|
||||||
|
|
||||||
protected final Context mContext;
|
protected final Context mContext;
|
||||||
|
|
||||||
@@ -120,8 +118,8 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
|
|||||||
if (tile == null) {
|
if (tile == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if (!TextUtils.isEmpty(tile.key)) {
|
if (tile.hasKey()) {
|
||||||
return tile.key;
|
return tile.getKey(mContext);
|
||||||
}
|
}
|
||||||
final StringBuilder sb = new StringBuilder(DASHBOARD_TILE_PREF_KEY_PREFIX);
|
final StringBuilder sb = new StringBuilder(DASHBOARD_TILE_PREF_KEY_PREFIX);
|
||||||
final ComponentName component = tile.getIntent().getComponent();
|
final ComponentName component = tile.getIntent().getComponent();
|
||||||
@@ -146,14 +144,10 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
|
|||||||
final Bundle metadata = tile.getMetaData();
|
final Bundle metadata = tile.getMetaData();
|
||||||
String clsName = null;
|
String clsName = null;
|
||||||
String action = null;
|
String action = null;
|
||||||
Integer order = null;
|
|
||||||
if (metadata != null) {
|
if (metadata != null) {
|
||||||
clsName = metadata.getString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS);
|
clsName = metadata.getString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS);
|
||||||
action = metadata.getString(META_DATA_KEY_INTENT_ACTION);
|
action = metadata.getString(META_DATA_KEY_INTENT_ACTION);
|
||||||
if (metadata.containsKey(META_DATA_KEY_ORDER)
|
|
||||||
&& metadata.get(META_DATA_KEY_ORDER) instanceof Integer) {
|
|
||||||
order = metadata.getInt(META_DATA_KEY_ORDER);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (!TextUtils.isEmpty(clsName)) {
|
if (!TextUtils.isEmpty(clsName)) {
|
||||||
pref.setFragment(clsName);
|
pref.setFragment(clsName);
|
||||||
@@ -170,14 +164,10 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
final String skipOffsetPackageName = activity.getPackageName();
|
final String skipOffsetPackageName = activity.getPackageName();
|
||||||
// If order is set in the meta data, use that order. Otherwise, check the intent priority.
|
|
||||||
if (order == null && tile.priority != 0) {
|
|
||||||
// Use negated priority for order, because tile priority is based on intent-filter
|
if (tile.hasOrder()) {
|
||||||
// (larger value has higher priority). However pref order defines smaller value has
|
final int order = tile.getOrder();
|
||||||
// higher priority.
|
|
||||||
order = -tile.priority;
|
|
||||||
}
|
|
||||||
if (order != null) {
|
|
||||||
boolean shouldSkipBaseOrderOffset = TextUtils.equals(
|
boolean shouldSkipBaseOrderOffset = TextUtils.equals(
|
||||||
skipOffsetPackageName, tile.getIntent().getComponent().getPackageName());
|
skipOffsetPackageName, tile.getIntent().getComponent().getPackageName());
|
||||||
if (shouldSkipBaseOrderOffset || baseOrder == Preference.DEFAULT_ORDER) {
|
if (shouldSkipBaseOrderOffset || baseOrder == Preference.DEFAULT_ORDER) {
|
||||||
|
@@ -15,6 +15,8 @@
|
|||||||
*/
|
*/
|
||||||
package com.android.settings.accounts;
|
package com.android.settings.accounts;
|
||||||
|
|
||||||
|
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_KEYHINT;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.Matchers.any;
|
import static org.mockito.Matchers.any;
|
||||||
@@ -118,7 +120,7 @@ public class AccountDetailDashboardFragmentTest {
|
|||||||
.thenReturn(mock(ResolveInfo.class));
|
.thenReturn(mock(ResolveInfo.class));
|
||||||
|
|
||||||
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
|
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_ACCOUNT_DETAIL);
|
||||||
tile.key = "key";
|
mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
|
||||||
mActivityInfo.metaData.putString(METADATA_CATEGORY, CategoryKey.CATEGORY_ACCOUNT);
|
mActivityInfo.metaData.putString(METADATA_CATEGORY, CategoryKey.CATEGORY_ACCOUNT);
|
||||||
mActivityInfo.metaData.putString(METADATA_ACCOUNT_TYPE, "com.abc");
|
mActivityInfo.metaData.putString(METADATA_ACCOUNT_TYPE, "com.abc");
|
||||||
mActivityInfo.metaData.putString("com.android.settings.intent.action",
|
mActivityInfo.metaData.putString("com.android.settings.intent.action",
|
||||||
@@ -129,9 +131,10 @@ public class AccountDetailDashboardFragmentTest {
|
|||||||
final FragmentActivity activity = Robolectric.setupActivity(FragmentActivity.class);
|
final FragmentActivity activity = Robolectric.setupActivity(FragmentActivity.class);
|
||||||
final Preference preference = new Preference(mContext);
|
final Preference preference = new Preference(mContext);
|
||||||
dashboardFeatureProvider.bindPreferenceToTile(activity,
|
dashboardFeatureProvider.bindPreferenceToTile(activity,
|
||||||
MetricsProto.MetricsEvent.DASHBOARD_SUMMARY, preference, tile, "key",
|
MetricsProto.MetricsEvent.DASHBOARD_SUMMARY, preference, tile, null /* key */,
|
||||||
Preference.DEFAULT_ORDER);
|
Preference.DEFAULT_ORDER);
|
||||||
|
|
||||||
|
assertThat(preference.getKey()).isEqualTo(tile.getKey(mContext));
|
||||||
preference.performClick();
|
preference.performClick();
|
||||||
|
|
||||||
final Intent intent = Shadows.shadowOf(activity).getNextStartedActivityForResult().intent;
|
final Intent intent = Shadows.shadowOf(activity).getNextStartedActivityForResult().intent;
|
||||||
|
@@ -17,14 +17,14 @@
|
|||||||
package com.android.settings.dashboard;
|
package com.android.settings.dashboard;
|
||||||
|
|
||||||
import static com.android.settingslib.drawer.CategoryKey.CATEGORY_HOMEPAGE;
|
import static com.android.settingslib.drawer.CategoryKey.CATEGORY_HOMEPAGE;
|
||||||
|
import static com.android.settingslib.drawer.TileUtils.META_DATA_KEY_ORDER;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import android.content.ComponentName;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
|
||||||
import android.content.pm.ActivityInfo;
|
import android.content.pm.ActivityInfo;
|
||||||
import android.content.pm.ApplicationInfo;
|
import android.content.pm.ApplicationInfo;
|
||||||
|
import android.os.Bundle;
|
||||||
import android.util.Pair;
|
import android.util.Pair;
|
||||||
|
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
@@ -132,20 +132,24 @@ public class CategoryManagerTest {
|
|||||||
// Create some fake tiles that are not sorted.
|
// Create some fake tiles that are not sorted.
|
||||||
final String testPackage = "com.android.test";
|
final String testPackage = "com.android.test";
|
||||||
final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
|
final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
|
||||||
mActivityInfo.packageName = testPackage;
|
final ActivityInfo activityInfo1 = new ActivityInfo();
|
||||||
mActivityInfo.name = "class1";
|
activityInfo1.metaData = new Bundle();
|
||||||
final Tile tile1 = new Tile(mActivityInfo, category.key);
|
activityInfo1.metaData.putInt(META_DATA_KEY_ORDER, 100);
|
||||||
tile1.priority = 100;
|
activityInfo1.packageName = testPackage;
|
||||||
|
activityInfo1.name = "class1";
|
||||||
mActivityInfo.packageName = testPackage;
|
final ActivityInfo activityInfo2 = new ActivityInfo();
|
||||||
mActivityInfo.name = "class2";
|
activityInfo2.metaData = new Bundle();
|
||||||
final Tile tile2 = new Tile(mActivityInfo, category.key);
|
activityInfo2.metaData.putInt(META_DATA_KEY_ORDER, 50);
|
||||||
tile2.priority = 50;
|
activityInfo2.packageName = testPackage;
|
||||||
|
activityInfo2.name = "class2";
|
||||||
mActivityInfo.packageName = testPackage;
|
final ActivityInfo activityInfo3 = new ActivityInfo();
|
||||||
mActivityInfo.name = "class3";
|
activityInfo3.metaData = new Bundle();
|
||||||
final Tile tile3 = new Tile(mActivityInfo, category.key);
|
activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 200);
|
||||||
tile3.priority = 200;
|
activityInfo3.packageName = testPackage;
|
||||||
|
activityInfo3.name = "class3";
|
||||||
|
final Tile tile1 = new Tile(activityInfo1, category.key);
|
||||||
|
final Tile tile2 = new Tile(activityInfo2, category.key);
|
||||||
|
final Tile tile3 = new Tile(activityInfo3, category.key);
|
||||||
|
|
||||||
category.addTile(tile1);
|
category.addTile(tile1);
|
||||||
category.addTile(tile2);
|
category.addTile(tile2);
|
||||||
@@ -168,22 +172,25 @@ public class CategoryManagerTest {
|
|||||||
final String testPackage1 = "com.android.test1";
|
final String testPackage1 = "com.android.test1";
|
||||||
final String testPackage2 = "com.android.test2";
|
final String testPackage2 = "com.android.test2";
|
||||||
final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
|
final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
|
||||||
|
final ActivityInfo activityInfo1 = new ActivityInfo();
|
||||||
|
activityInfo1.metaData = new Bundle();
|
||||||
|
activityInfo1.metaData.putInt(META_DATA_KEY_ORDER, 100);
|
||||||
|
activityInfo1.packageName = testPackage2;
|
||||||
|
activityInfo1.name = "class1";
|
||||||
|
final ActivityInfo activityInfo2 = new ActivityInfo();
|
||||||
|
activityInfo2.metaData = new Bundle();
|
||||||
|
activityInfo2.metaData.putInt(META_DATA_KEY_ORDER, 100);
|
||||||
|
activityInfo2.packageName = testPackage1;
|
||||||
|
activityInfo2.name = "class2";
|
||||||
|
final ActivityInfo activityInfo3 = new ActivityInfo();
|
||||||
|
activityInfo3.metaData = new Bundle();
|
||||||
|
activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 50);
|
||||||
|
activityInfo3.packageName = testPackage1;
|
||||||
|
activityInfo3.name = "class3";
|
||||||
|
|
||||||
mActivityInfo.packageName = testPackage2;
|
final Tile tile1 = new Tile(activityInfo1, category.key);
|
||||||
mActivityInfo.name = "class1";
|
final Tile tile2 = new Tile(activityInfo2, category.key);
|
||||||
final Tile tile1 = new Tile(mActivityInfo, category.key);
|
final Tile tile3 = new Tile(activityInfo3, category.key);
|
||||||
tile1.priority = 100;
|
|
||||||
|
|
||||||
mActivityInfo.packageName = testPackage1;
|
|
||||||
mActivityInfo.name = "class2";
|
|
||||||
final Tile tile2 = new Tile(mActivityInfo, category.key);
|
|
||||||
tile2.priority = 100;
|
|
||||||
|
|
||||||
mActivityInfo.packageName = testPackage1;
|
|
||||||
mActivityInfo.name = "class3";
|
|
||||||
final Tile tile3 = new Tile(mActivityInfo, category.key);
|
|
||||||
tile3.priority = 50;
|
|
||||||
|
|
||||||
category.addTile(tile1);
|
category.addTile(tile1);
|
||||||
category.addTile(tile2);
|
category.addTile(tile2);
|
||||||
category.addTile(tile3);
|
category.addTile(tile3);
|
||||||
@@ -203,22 +210,24 @@ public class CategoryManagerTest {
|
|||||||
// Create some fake tiles that are not sorted.
|
// Create some fake tiles that are not sorted.
|
||||||
final String testPackage = mContext.getPackageName();
|
final String testPackage = mContext.getPackageName();
|
||||||
final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
|
final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
|
||||||
|
final ActivityInfo activityInfo1 = new ActivityInfo();
|
||||||
mActivityInfo.packageName = testPackage;
|
activityInfo1.packageName = testPackage;
|
||||||
mActivityInfo.name = "class1";
|
activityInfo1.name = "class1";
|
||||||
final Tile tile1 = new Tile(mActivityInfo, category.key);
|
activityInfo1.metaData = new Bundle();
|
||||||
tile1.priority = 100;
|
activityInfo1.metaData.putInt(META_DATA_KEY_ORDER, 100);
|
||||||
|
final ActivityInfo activityInfo2 = new ActivityInfo();
|
||||||
mActivityInfo.packageName = testPackage;
|
activityInfo2.packageName = testPackage;
|
||||||
mActivityInfo.name = "class2";
|
activityInfo2.name = "class2";
|
||||||
final Tile tile2 = new Tile(mActivityInfo, category.key);
|
activityInfo2.metaData = new Bundle();
|
||||||
tile2.priority = 100;
|
activityInfo2.metaData.putInt(META_DATA_KEY_ORDER, 100);
|
||||||
|
final ActivityInfo activityInfo3 = new ActivityInfo();
|
||||||
mActivityInfo.packageName = testPackage;
|
activityInfo3.packageName = testPackage;
|
||||||
mActivityInfo.name = "class3";
|
activityInfo3.name = "class3";
|
||||||
final Tile tile3 = new Tile(mActivityInfo, category.key);
|
activityInfo3.metaData = new Bundle();
|
||||||
tile3.priority = 50;
|
activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 50);
|
||||||
|
final Tile tile1 = new Tile(activityInfo1, category.key);
|
||||||
|
final Tile tile2 = new Tile(activityInfo2, category.key);
|
||||||
|
final Tile tile3 = new Tile(activityInfo3, category.key);
|
||||||
category.addTile(tile1);
|
category.addTile(tile1);
|
||||||
category.addTile(tile2);
|
category.addTile(tile2);
|
||||||
category.addTile(tile3);
|
category.addTile(tile3);
|
||||||
@@ -239,22 +248,32 @@ public class CategoryManagerTest {
|
|||||||
final String testPackage = mContext.getPackageName();
|
final String testPackage = mContext.getPackageName();
|
||||||
final String testPackage2 = "com.google.test2";
|
final String testPackage2 = "com.google.test2";
|
||||||
final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
|
final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
|
||||||
mActivityInfo.packageName = testPackage;
|
|
||||||
mActivityInfo.name = "class1";
|
final ActivityInfo activityInfo1 = new ActivityInfo();
|
||||||
final Tile tile1 = new Tile(mActivityInfo, category.key);
|
activityInfo1.packageName = testPackage;
|
||||||
tile1.priority = 2;
|
activityInfo1.name = "class1";
|
||||||
mActivityInfo.packageName = testPackage;
|
activityInfo1.metaData = new Bundle();
|
||||||
mActivityInfo.name = "class2";
|
activityInfo1.metaData.putInt(META_DATA_KEY_ORDER, 2);
|
||||||
final Tile tile2 = new Tile(mActivityInfo, category.key);
|
final ActivityInfo activityInfo2 = new ActivityInfo();
|
||||||
tile2.priority = 1;
|
activityInfo2.packageName = testPackage;
|
||||||
mActivityInfo.packageName = testPackage2;
|
activityInfo2.name = "class2";
|
||||||
mActivityInfo.name = "class0";
|
activityInfo2.metaData = new Bundle();
|
||||||
final Tile tile3 = new Tile(mActivityInfo, category.key);
|
activityInfo2.metaData.putInt(META_DATA_KEY_ORDER, 1);
|
||||||
tile3.priority = 0;
|
final ActivityInfo activityInfo3 = new ActivityInfo();
|
||||||
mActivityInfo.packageName = testPackage;
|
activityInfo3.packageName = testPackage2;
|
||||||
mActivityInfo.name = "class3";
|
activityInfo3.name = "class0";
|
||||||
final Tile tile4 = new Tile(mActivityInfo, category.key);
|
activityInfo3.metaData = new Bundle();
|
||||||
tile4.priority = -1;
|
activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 0);
|
||||||
|
final ActivityInfo activityInfo4 = new ActivityInfo();
|
||||||
|
activityInfo4.packageName = testPackage;
|
||||||
|
activityInfo4.name = "class3";
|
||||||
|
activityInfo4.metaData = new Bundle();
|
||||||
|
activityInfo4.metaData.putInt(META_DATA_KEY_ORDER, -1);
|
||||||
|
|
||||||
|
final Tile tile1 = new Tile(activityInfo1, category.key);
|
||||||
|
final Tile tile2 = new Tile(activityInfo2, category.key);
|
||||||
|
final Tile tile4 = new Tile(activityInfo4, category.key);
|
||||||
|
final Tile tile3 = new Tile(activityInfo3, category.key);
|
||||||
category.addTile(tile1);
|
category.addTile(tile1);
|
||||||
category.addTile(tile2);
|
category.addTile(tile2);
|
||||||
category.addTile(tile3);
|
category.addTile(tile3);
|
||||||
@@ -278,21 +297,24 @@ public class CategoryManagerTest {
|
|||||||
final String testPackage2 = "com.google.test2";
|
final String testPackage2 = "com.google.test2";
|
||||||
final String testPackage3 = "com.abcde.test3";
|
final String testPackage3 = "com.abcde.test3";
|
||||||
final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
|
final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
|
||||||
mActivityInfo.packageName = testPackage2;
|
final ActivityInfo activityInfo1 = new ActivityInfo();
|
||||||
mActivityInfo.name = "class1";
|
activityInfo1.packageName = testPackage2;
|
||||||
final Tile tile1 = new Tile(mActivityInfo, category.key);
|
activityInfo1.name = "class1";
|
||||||
tile1.priority = 1;
|
activityInfo1.metaData = new Bundle();
|
||||||
|
activityInfo1.metaData.putInt(META_DATA_KEY_ORDER, 1);
|
||||||
mActivityInfo.packageName = testPackage;
|
final ActivityInfo activityInfo2 = new ActivityInfo();
|
||||||
mActivityInfo.name = "class2";
|
activityInfo2.packageName = testPackage;
|
||||||
final Tile tile2 = new Tile(mActivityInfo, category.key);
|
activityInfo2.name = "class2";
|
||||||
tile2.priority = 1;
|
activityInfo2.metaData = new Bundle();
|
||||||
|
activityInfo2.metaData.putInt(META_DATA_KEY_ORDER, 1);
|
||||||
mActivityInfo.packageName = testPackage3;
|
final ActivityInfo activityInfo3 = new ActivityInfo();
|
||||||
mActivityInfo.name = "class3";
|
activityInfo3.packageName = testPackage3;
|
||||||
final Tile tile3 = new Tile(mActivityInfo, category.key);
|
activityInfo3.name = "class3";
|
||||||
tile3.priority = 1;
|
activityInfo3.metaData = new Bundle();
|
||||||
|
activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 1);
|
||||||
|
final Tile tile1 = new Tile(activityInfo1, category.key);
|
||||||
|
final Tile tile2 = new Tile(activityInfo2, category.key);
|
||||||
|
final Tile tile3 = new Tile(activityInfo3, category.key);
|
||||||
category.addTile(tile1);
|
category.addTile(tile1);
|
||||||
category.addTile(tile2);
|
category.addTile(tile2);
|
||||||
category.addTile(tile3);
|
category.addTile(tile3);
|
||||||
@@ -312,21 +334,24 @@ public class CategoryManagerTest {
|
|||||||
// Create some unique tiles
|
// Create some unique tiles
|
||||||
final String testPackage = mContext.getPackageName();
|
final String testPackage = mContext.getPackageName();
|
||||||
final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
|
final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
|
||||||
mActivityInfo.packageName = testPackage;
|
final ActivityInfo activityInfo1 = new ActivityInfo();
|
||||||
mActivityInfo.name = "class1";
|
activityInfo1.packageName = testPackage;
|
||||||
final Tile tile1 = new Tile(mActivityInfo, category.key);
|
activityInfo1.name = "class1";
|
||||||
tile1.priority = 100;
|
activityInfo1.metaData = new Bundle();
|
||||||
|
activityInfo1.metaData.putInt(META_DATA_KEY_ORDER, 100);
|
||||||
mActivityInfo.packageName = testPackage;
|
final ActivityInfo activityInfo2 = new ActivityInfo();
|
||||||
mActivityInfo.name = "class2";
|
activityInfo2.packageName = testPackage;
|
||||||
final Tile tile2 = new Tile(mActivityInfo, category.key);
|
activityInfo2.name = "class2";
|
||||||
tile2.priority = 100;
|
activityInfo2.metaData = new Bundle();
|
||||||
|
activityInfo2.metaData.putInt(META_DATA_KEY_ORDER, 100);
|
||||||
mActivityInfo.packageName = testPackage;
|
final ActivityInfo activityInfo3 = new ActivityInfo();
|
||||||
mActivityInfo.name = "class3";
|
activityInfo3.packageName = testPackage;
|
||||||
final Tile tile3 = new Tile(mActivityInfo, category.key);
|
activityInfo3.name = "class3";
|
||||||
tile3.priority = 50;
|
activityInfo3.metaData = new Bundle();
|
||||||
|
activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 50);
|
||||||
|
final Tile tile1 = new Tile(activityInfo1, category.key);
|
||||||
|
final Tile tile2 = new Tile(activityInfo2, category.key);
|
||||||
|
final Tile tile3 = new Tile(activityInfo3, category.key);
|
||||||
category.addTile(tile1);
|
category.addTile(tile1);
|
||||||
category.addTile(tile2);
|
category.addTile(tile2);
|
||||||
category.addTile(tile3);
|
category.addTile(tile3);
|
||||||
@@ -342,14 +367,25 @@ public class CategoryManagerTest {
|
|||||||
// Create tiles pointing to same intent.
|
// Create tiles pointing to same intent.
|
||||||
final String testPackage = mContext.getPackageName();
|
final String testPackage = mContext.getPackageName();
|
||||||
final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
|
final DashboardCategory category = new DashboardCategory(CATEGORY_HOMEPAGE);
|
||||||
mActivityInfo.packageName = testPackage;
|
final ActivityInfo activityInfo1 = new ActivityInfo();
|
||||||
mActivityInfo.name = "class1";
|
activityInfo1.packageName = testPackage;
|
||||||
final Tile tile1 = new Tile(mActivityInfo, category.key);
|
activityInfo1.name = "class1";
|
||||||
tile1.priority = 100;
|
activityInfo1.metaData = new Bundle();
|
||||||
final Tile tile2 = new Tile(mActivityInfo, category.key);
|
activityInfo1.metaData.putInt(META_DATA_KEY_ORDER, 100);
|
||||||
tile2.priority = 100;
|
final ActivityInfo activityInfo2 = new ActivityInfo();
|
||||||
final Tile tile3 = new Tile(mActivityInfo, category.key);
|
activityInfo2.packageName = testPackage;
|
||||||
tile3.priority = 50;
|
activityInfo2.name = "class1";
|
||||||
|
activityInfo2.metaData = new Bundle();
|
||||||
|
activityInfo2.metaData.putInt(META_DATA_KEY_ORDER, 100);
|
||||||
|
final ActivityInfo activityInfo3 = new ActivityInfo();
|
||||||
|
activityInfo3.packageName = testPackage;
|
||||||
|
activityInfo3.name = "class1";
|
||||||
|
activityInfo3.metaData = new Bundle();
|
||||||
|
activityInfo3.metaData.putInt(META_DATA_KEY_ORDER, 50);
|
||||||
|
|
||||||
|
final Tile tile1 = new Tile(activityInfo1, category.key);
|
||||||
|
final Tile tile2 = new Tile(activityInfo2, category.key);
|
||||||
|
final Tile tile3 = new Tile(activityInfo3, category.key);
|
||||||
category.addTile(tile1);
|
category.addTile(tile1);
|
||||||
category.addTile(tile2);
|
category.addTile(tile2);
|
||||||
category.addTile(tile3);
|
category.addTile(tile3);
|
||||||
|
@@ -16,7 +16,9 @@
|
|||||||
|
|
||||||
package com.android.settings.dashboard;
|
package com.android.settings.dashboard;
|
||||||
|
|
||||||
|
import static com.android.settingslib.drawer.TileUtils.META_DATA_KEY_ORDER;
|
||||||
import static com.android.settingslib.drawer.TileUtils.META_DATA_KEY_PROFILE;
|
import static com.android.settingslib.drawer.TileUtils.META_DATA_KEY_PROFILE;
|
||||||
|
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_KEYHINT;
|
||||||
import static com.android.settingslib.drawer.TileUtils.PROFILE_ALL;
|
import static com.android.settingslib.drawer.TileUtils.PROFILE_ALL;
|
||||||
import static com.android.settingslib.drawer.TileUtils.PROFILE_PRIMARY;
|
import static com.android.settingslib.drawer.TileUtils.PROFILE_PRIMARY;
|
||||||
|
|
||||||
@@ -119,12 +121,12 @@ public class DashboardFeatureProviderImplTest {
|
|||||||
public void bindPreference_shouldBindAllData() {
|
public void bindPreference_shouldBindAllData() {
|
||||||
final Preference preference = new Preference(RuntimeEnvironment.application);
|
final Preference preference = new Preference(RuntimeEnvironment.application);
|
||||||
final Tile tile = spy(new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE));
|
final Tile tile = spy(new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE));
|
||||||
|
mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10);
|
||||||
tile.title = "title";
|
tile.title = "title";
|
||||||
tile.summary = "summary";
|
tile.summary = "summary";
|
||||||
doReturn(Icon.createWithBitmap(Bitmap.createBitmap(1, 1, Bitmap.Config.RGB_565)))
|
doReturn(Icon.createWithBitmap(Bitmap.createBitmap(1, 1, Bitmap.Config.RGB_565)))
|
||||||
.when(tile).getIcon(any(Context.class));
|
.when(tile).getIcon(any(Context.class));
|
||||||
mActivityInfo.metaData.putString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS, "HI");
|
mActivityInfo.metaData.putString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS, "HI");
|
||||||
tile.priority = 10;
|
|
||||||
mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.SETTINGS_GESTURES,
|
mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.SETTINGS_GESTURES,
|
||||||
preference, tile, "123", Preference.DEFAULT_ORDER);
|
preference, tile, "123", Preference.DEFAULT_ORDER);
|
||||||
|
|
||||||
@@ -133,21 +135,21 @@ public class DashboardFeatureProviderImplTest {
|
|||||||
assertThat(preference.getIcon()).isNotNull();
|
assertThat(preference.getIcon()).isNotNull();
|
||||||
assertThat(preference.getFragment()).isEqualTo(
|
assertThat(preference.getFragment()).isEqualTo(
|
||||||
mActivityInfo.metaData.getString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS));
|
mActivityInfo.metaData.getString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS));
|
||||||
assertThat(preference.getOrder()).isEqualTo(-tile.priority);
|
assertThat(preference.getOrder()).isEqualTo(tile.getOrder());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void bindPreference_noFragmentMetadata_shouldBindIntent() {
|
public void bindPreference_noFragmentMetadata_shouldBindIntent() {
|
||||||
final Preference preference = new Preference(RuntimeEnvironment.application);
|
final Preference preference = new Preference(RuntimeEnvironment.application);
|
||||||
|
mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10);
|
||||||
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
|
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
|
||||||
tile.priority = 10;
|
|
||||||
|
|
||||||
mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.SETTINGS_GESTURES,
|
mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.SETTINGS_GESTURES,
|
||||||
preference, tile, "123", Preference.DEFAULT_ORDER);
|
preference, tile, "123", Preference.DEFAULT_ORDER);
|
||||||
|
|
||||||
assertThat(preference.getFragment()).isNull();
|
assertThat(preference.getFragment()).isNull();
|
||||||
assertThat(preference.getOnPreferenceClickListener()).isNotNull();
|
assertThat(preference.getOnPreferenceClickListener()).isNotNull();
|
||||||
assertThat(preference.getOrder()).isEqualTo(-tile.priority);
|
assertThat(preference.getOrder()).isEqualTo(tile.getOrder());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -273,12 +275,12 @@ public class DashboardFeatureProviderImplTest {
|
|||||||
@Test
|
@Test
|
||||||
public void bindPreference_withNullKeyTileKey_shouldUseTileKey() {
|
public void bindPreference_withNullKeyTileKey_shouldUseTileKey() {
|
||||||
final Preference preference = new Preference(RuntimeEnvironment.application);
|
final Preference preference = new Preference(RuntimeEnvironment.application);
|
||||||
|
mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
|
||||||
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
|
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
|
||||||
tile.key = "key";
|
|
||||||
mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.VIEW_UNKNOWN,
|
mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.VIEW_UNKNOWN,
|
||||||
preference, tile, null /* key */, Preference.DEFAULT_ORDER);
|
preference, tile, null /* key */, Preference.DEFAULT_ORDER);
|
||||||
|
|
||||||
assertThat(preference.getKey()).isEqualTo(tile.key);
|
assertThat(preference.getKey()).isEqualTo(tile.getKey(mContext));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -287,7 +289,7 @@ public class DashboardFeatureProviderImplTest {
|
|||||||
final Preference preference = new Preference(RuntimeEnvironment.application);
|
final Preference preference = new Preference(RuntimeEnvironment.application);
|
||||||
mActivityInfo.packageName = RuntimeEnvironment.application.getPackageName();
|
mActivityInfo.packageName = RuntimeEnvironment.application.getPackageName();
|
||||||
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
|
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
|
||||||
tile.key = "key";
|
mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
|
||||||
mActivityInfo.metaData.putString(TileUtils.META_DATA_PREFERENCE_ICON_URI,
|
mActivityInfo.metaData.putString(TileUtils.META_DATA_PREFERENCE_ICON_URI,
|
||||||
"content://com.android.settings/tile_icon");
|
"content://com.android.settings/tile_icon");
|
||||||
mImpl.bindIcon(preference, tile);
|
mImpl.bindIcon(preference, tile);
|
||||||
@@ -296,24 +298,25 @@ public class DashboardFeatureProviderImplTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void bindPreference_withBaseOrder_shouldOffsetPriority() {
|
public void bindPreference_withBaseOrder_shouldOffsetOrder() {
|
||||||
final int baseOrder = 100;
|
final int baseOrder = 100;
|
||||||
final Preference preference = new Preference(RuntimeEnvironment.application);
|
final Preference preference = new Preference(RuntimeEnvironment.application);
|
||||||
|
mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10);
|
||||||
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
|
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
|
||||||
tile.priority = 10;
|
|
||||||
mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.VIEW_UNKNOWN,
|
mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.VIEW_UNKNOWN,
|
||||||
preference, tile, "123", baseOrder);
|
preference, tile, "123", baseOrder);
|
||||||
|
|
||||||
assertThat(preference.getOrder()).isEqualTo(-tile.priority + baseOrder);
|
assertThat(preference.getOrder()).isEqualTo(tile.getOrder() + baseOrder);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void bindPreference_withOrderMetadata_shouldUseOrderInMetadata() {
|
public void bindPreference_withOrderMetadata_shouldUseOrderInMetadata() {
|
||||||
final Preference preference = new Preference(RuntimeEnvironment.application);
|
final Preference preference = new Preference(RuntimeEnvironment.application);
|
||||||
final int testOrder = -30;
|
final int testOrder = -30;
|
||||||
|
mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10);
|
||||||
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
|
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
|
||||||
mActivityInfo.metaData.putInt(mImpl.META_DATA_KEY_ORDER, testOrder);
|
mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, testOrder);
|
||||||
tile.priority = 10;
|
|
||||||
mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.VIEW_UNKNOWN,
|
mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.VIEW_UNKNOWN,
|
||||||
preference, tile, "123", Preference.DEFAULT_ORDER);
|
preference, tile, "123", Preference.DEFAULT_ORDER);
|
||||||
|
|
||||||
@@ -324,12 +327,12 @@ public class DashboardFeatureProviderImplTest {
|
|||||||
public void bindPreference_invalidOrderMetadata_shouldIgnore() {
|
public void bindPreference_invalidOrderMetadata_shouldIgnore() {
|
||||||
final Preference preference = new Preference(RuntimeEnvironment.application);
|
final Preference preference = new Preference(RuntimeEnvironment.application);
|
||||||
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
|
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
|
||||||
mActivityInfo.metaData.putString(mImpl.META_DATA_KEY_ORDER, "hello");
|
mActivityInfo.metaData.putString(META_DATA_KEY_ORDER, "hello");
|
||||||
tile.priority = 10;
|
|
||||||
mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.VIEW_UNKNOWN,
|
mImpl.bindPreferenceToTile(mActivity, MetricsProto.MetricsEvent.VIEW_UNKNOWN,
|
||||||
preference, tile, "123", Preference.DEFAULT_ORDER);
|
preference, tile, "123", Preference.DEFAULT_ORDER);
|
||||||
|
|
||||||
assertThat(preference.getOrder()).isEqualTo(-tile.priority);
|
assertThat(preference.getOrder()).isEqualTo(Preference.DEFAULT_ORDER);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -337,7 +340,7 @@ public class DashboardFeatureProviderImplTest {
|
|||||||
FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.class).get();
|
FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.class).get();
|
||||||
final Preference preference = new Preference(RuntimeEnvironment.application);
|
final Preference preference = new Preference(RuntimeEnvironment.application);
|
||||||
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
|
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
|
||||||
tile.key = "key";
|
mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
|
||||||
mActivityInfo.metaData.putString("com.android.settings.intent.action", "TestAction");
|
mActivityInfo.metaData.putString("com.android.settings.intent.action", "TestAction");
|
||||||
tile.userHandle = null;
|
tile.userHandle = null;
|
||||||
mImpl.bindPreferenceToTile(activity, MetricsProto.MetricsEvent.SETTINGS_GESTURES,
|
mImpl.bindPreferenceToTile(activity, MetricsProto.MetricsEvent.SETTINGS_GESTURES,
|
||||||
@@ -360,7 +363,7 @@ public class DashboardFeatureProviderImplTest {
|
|||||||
final ShadowApplication application = ShadowApplication.getInstance();
|
final ShadowApplication application = ShadowApplication.getInstance();
|
||||||
final Preference preference = new Preference(application.getApplicationContext());
|
final Preference preference = new Preference(application.getApplicationContext());
|
||||||
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
|
final Tile tile = new Tile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
|
||||||
tile.key = "key";
|
mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
|
||||||
mActivityInfo.metaData.putString("com.android.settings.intent.action", "TestAction");
|
mActivityInfo.metaData.putString("com.android.settings.intent.action", "TestAction");
|
||||||
tile.userHandle = null;
|
tile.userHandle = null;
|
||||||
|
|
||||||
|
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package com.android.settings.dashboard;
|
package com.android.settings.dashboard;
|
||||||
|
|
||||||
|
import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_KEYHINT;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.Mockito.verifyZeroInteractions;
|
import static org.mockito.Mockito.verifyZeroInteractions;
|
||||||
@@ -23,6 +25,7 @@ import static org.mockito.Mockito.when;
|
|||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.pm.ActivityInfo;
|
import android.content.pm.ActivityInfo;
|
||||||
|
import android.os.Bundle;
|
||||||
|
|
||||||
import com.android.settings.testutils.FakeFeatureFactory;
|
import com.android.settings.testutils.FakeFeatureFactory;
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
@@ -35,6 +38,7 @@ import org.junit.Test;
|
|||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
import org.robolectric.Robolectric;
|
import org.robolectric.Robolectric;
|
||||||
|
import org.robolectric.RuntimeEnvironment;
|
||||||
|
|
||||||
@RunWith(SettingsRobolectricTestRunner.class)
|
@RunWith(SettingsRobolectricTestRunner.class)
|
||||||
public class SummaryLoaderTest {
|
public class SummaryLoaderTest {
|
||||||
@@ -90,11 +94,13 @@ public class SummaryLoaderTest {
|
|||||||
final ActivityInfo activityInfo = new ActivityInfo();
|
final ActivityInfo activityInfo = new ActivityInfo();
|
||||||
activityInfo.packageName = "pkg";
|
activityInfo.packageName = "pkg";
|
||||||
activityInfo.name = "cls";
|
activityInfo.name = "cls";
|
||||||
|
activityInfo.metaData = new Bundle();
|
||||||
|
activityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "123");
|
||||||
final Tile tile = new Tile(activityInfo, category.key);
|
final Tile tile = new Tile(activityInfo, category.key);
|
||||||
tile.key = "123";
|
|
||||||
category.addTile(tile);
|
category.addTile(tile);
|
||||||
when(mFeatureFactory.dashboardFeatureProvider.getDashboardKeyForTile(tile))
|
when(mFeatureFactory.dashboardFeatureProvider.getDashboardKeyForTile(tile))
|
||||||
.thenReturn(tile.key);
|
.thenReturn(tile.getKey(RuntimeEnvironment.application));
|
||||||
|
|
||||||
mSummaryLoader.updateSummaryIfNeeded(tile, testSummary);
|
mSummaryLoader.updateSummaryIfNeeded(tile, testSummary);
|
||||||
tile.summary = null;
|
tile.summary = null;
|
||||||
|
Reference in New Issue
Block a user