Show select user dialog if setting tile supports multi-user

Bug: 32470791
Test: RunSettingsRoboTests
Change-Id: I07a14c32a1b898467b03df09430038ac4a1a2aed
This commit is contained in:
Fan Zhang
2016-10-31 13:17:13 -07:00
parent 80d1ec7dee
commit 601fbec8e8
2 changed files with 36 additions and 0 deletions

View File

@@ -27,6 +27,7 @@ import android.text.TextUtils;
import com.android.settings.SettingsActivity;
import com.android.settingslib.drawer.CategoryManager;
import com.android.settingslib.drawer.DashboardCategory;
import com.android.settingslib.drawer.ProfileSelectDialog;
import com.android.settingslib.drawer.Tile;
import java.util.List;
@@ -97,6 +98,12 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
}
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 -> {