diff --git a/res/values/themes.xml b/res/values/themes.xml
index a6310a4..3bf36ba9 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -170,6 +170,7 @@
         <item name="colorPrimary">@*android:color/primary_device_default_settings_light</item>
         <item name="colorPrimaryDark">@*android:color/primary_dark_device_default_settings_light</item>
         <item name="android:colorAccent">@*android:color/accent_device_default_light</item>
+        <item name="android:windowLightStatusBar">true</item>
     </style>
 
 </resources>
diff --git a/src/com/android/settings/core/SettingsBaseActivity.java b/src/com/android/settings/core/SettingsBaseActivity.java
index 2cce467..9672694 100644
--- a/src/com/android/settings/core/SettingsBaseActivity.java
+++ b/src/com/android/settings/core/SettingsBaseActivity.java
@@ -35,15 +35,14 @@
 import android.view.WindowManager.LayoutParams;
 import android.widget.Toolbar;
 
+import androidx.fragment.app.FragmentActivity;
+
 import com.android.settings.R;
 import com.android.settingslib.drawer.CategoryManager;
-import com.android.settingslib.drawer.TileUtils;
 
 import java.util.ArrayList;
 import java.util.List;
 
-import androidx.fragment.app.FragmentActivity;
-
 public class SettingsBaseActivity extends FragmentActivity {
 
     protected static final boolean DEBUG_TIMING = false;
@@ -174,7 +173,7 @@
     }
 
     public String getSettingPkg() {
-        return TileUtils.SETTING_PKG;
+        return CategoryManager.SETTING_PKG;
     }
 
     public interface CategoryListener {
diff --git a/src/com/android/settings/dashboard/DashboardData.java b/src/com/android/settings/dashboard/DashboardData.java
index 9f66731..182d79b 100644
--- a/src/com/android/settings/dashboard/DashboardData.java
+++ b/src/com/android/settings/dashboard/DashboardData.java
@@ -20,6 +20,9 @@
 import android.service.settings.suggestions.Suggestion;
 import android.text.TextUtils;
 
+import androidx.annotation.VisibleForTesting;
+import androidx.recyclerview.widget.DiffUtil;
+
 import com.android.settings.R;
 import com.android.settings.dashboard.conditional.Condition;
 import com.android.settingslib.drawer.DashboardCategory;
@@ -31,9 +34,6 @@
 import java.util.List;
 import java.util.Objects;
 
-import androidx.annotation.VisibleForTesting;
-import androidx.recyclerview.widget.DiffUtil;
-
 /**
  * Description about data list used in the DashboardAdapter. In the data list each item can be
  * Condition, suggestion or category tile.
@@ -411,16 +411,7 @@
                         && TextUtils.equals(localTile.summary, targetTile.summary);
                 case TYPE_SUGGESTION_CONTAINER:
                 case TYPE_CONDITION_CONTAINER:
-                    // If entity is suggestion and contains remote view, force refresh
-                    final List entities = (List) entity;
-                    if (!entities.isEmpty()) {
-                        Object firstEntity = entities.get(0);
-                        if (firstEntity instanceof Tile
-                                && ((Tile) firstEntity).remoteViews != null) {
-                            return false;
-                        }
-                    }
-                    // Otherwise Fall through to default
+                    // Fall through to default
                 default:
                     return entity == null ? targetItem.entity == null
                             : entity.equals(targetItem.entity);
