Only show communal settings to the primary user

Fixes: 264284347
Test: flashed device, and verified settings don't appear for secondary
user. Setting still appears for primary user
Test: atest CommunalPreferenceControllerTest

Change-Id: I6686ce4dbc7d708a93131620ae93c5e0dc323995
This commit is contained in:
Lucas Silva
2023-01-03 15:08:27 -05:00
parent 9f8b28eaf4
commit e33639f117
2 changed files with 97 additions and 1 deletions

View File

@@ -17,6 +17,7 @@
package com.android.settings.communal;
import android.content.Context;
import android.os.UserManager;
import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
@@ -31,7 +32,14 @@ public class CommunalPreferenceController extends BasePreferenceController {
@Override
public int getAvailabilityStatus() {
return mContext.getResources().getBoolean(R.bool.config_show_communal_settings)
// TODO(b/257333623): Allow the communal user to be non-SystemUser user in HSUM.
return (mContext.getResources().getBoolean(R.bool.config_show_communal_settings)
&& isSystemUser())
? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
private boolean isSystemUser() {
final UserManager userManager = mContext.getSystemService(UserManager.class);
return userManager != null && userManager.isSystemUser();
}
}