Merge "Add PrivacySettings to System category."
diff --git a/src/com/android/settings/FallbackHome.java b/src/com/android/settings/FallbackHome.java
index 89675e3..5f7b639 100644
--- a/src/com/android/settings/FallbackHome.java
+++ b/src/com/android/settings/FallbackHome.java
@@ -77,7 +77,7 @@
                     | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
         }
 
-        registerReceiver(mReceiver, new IntentFilter(Intent.ACTION_USER_PRESENT));
+        registerReceiver(mReceiver, new IntentFilter(Intent.ACTION_USER_UNLOCKED));
         maybeFinish();
     }
 
diff --git a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
index c42ecb3..d07d303 100644
--- a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
@@ -98,16 +98,17 @@
         }
         if (!TextUtils.isEmpty(clsName)) {
             pref.setFragment(clsName);
-        } else if (tile.userHandle != null && tile.userHandle.size() > 1) {
-            pref.setOnPreferenceClickListener(preference -> {
-                ProfileSelectDialog.updateUserHandlesIfNeeded(activity, tile);
-                ProfileSelectDialog.show(activity.getFragmentManager(), tile);
-                return true;
-            });
         } else if (tile.intent != null) {
             final Intent intent = new Intent(tile.intent);
             pref.setOnPreferenceClickListener(preference -> {
-                activity.startActivityForResult(intent, 0);
+                ProfileSelectDialog.updateUserHandlesIfNeeded(mContext, tile);
+                if (tile.userHandle == null) {
+                    activity.startActivityForResult(intent, 0);
+                } else if (tile.userHandle.size() == 1) {
+                    activity.startActivityForResultAsUser(intent, 0, tile.userHandle.get(0));
+                } else {
+                    ProfileSelectDialog.show(activity.getFragmentManager(), tile);
+                }
                 return true;
             });
         }
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
index 0ab7675..deae989 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
@@ -112,7 +112,9 @@
         tile.userHandle.add(mock(UserHandle.class));
         tile.userHandle.add(mock(UserHandle.class));
         tile.intent = new Intent();
-        when(mActivity.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
+
+        when(mActivity.getApplicationContext().getSystemService(Context.USER_SERVICE))
+                .thenReturn(mUserManager);
 
         mImpl.bindPreferenceToTile(mActivity, preference, tile, "123");
         preference.getOnPreferenceClickListener().onPreferenceClick(null);