Merge "Fix a bug in navup button."
diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java
index a72717d..a5876ce 100644
--- a/src/com/android/settings/dashboard/DashboardFragment.java
+++ b/src/com/android/settings/dashboard/DashboardFragment.java
@@ -234,10 +234,15 @@
             if (tile.icon != null) {
                 pref.setIcon(tile.icon.loadDrawable(context));
             }
-            if (tile.intent != null) {
+            final Bundle metadata = tile.metaData;
+            if (metadata != null) {
+                String clsName = metadata.getString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS);
+                if (!TextUtils.isEmpty(clsName)) {
+                    pref.setFragment(clsName);
+                }
+            } else if (tile.intent != null) {
                 final Intent intent = new Intent(tile.intent);
                 pref.setOnPreferenceClickListener(preference -> {
-                    intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_AS_SUBSETTING, true);
                     getActivity().startActivityForResult(intent, 0);
                     return true;
                 });