Add intent for entering communal settings

This allows other apps to link to communal settings.

Fixes: 276742740
Test: adb shell am start -a android.settings.COMMUNAL_SETTINGS
Test: switched to secondary user, attempted to launch using command
above. Verified it didn't work

Change-Id: I5e845ecba58d8443d41aeea95bc6068a0041cac8
This commit is contained in:
Lucas Silva
2023-04-12 15:22:39 -04:00
parent a7152b9573
commit 3b1c739ce2
4 changed files with 40 additions and 3 deletions

View File

@@ -29,6 +29,7 @@ import android.util.Log;
import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.biometrics.face.FaceSettings;
import com.android.settings.communal.CommunalPreferenceController;
import com.android.settings.core.FeatureFlags;
import com.android.settings.enterprise.EnterprisePrivacySettings;
import com.android.settings.network.MobileNetworkIntentConverter;
@@ -314,6 +315,16 @@ public class Settings extends SettingsActivity {
public static class AndroidBeamSettingsActivity extends SettingsActivity { /* empty */ }
public static class WifiDisplaySettingsActivity extends SettingsActivity { /* empty */ }
public static class DreamSettingsActivity extends SettingsActivity { /* empty */ }
/** Activity to manage communal settings */
public static class CommunalSettingsActivity extends SettingsActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (!CommunalPreferenceController.isAvailable(this)) {
finish();
}
}
}
public static class NotificationStationActivity extends SettingsActivity { /* empty */ }
public static class UserSettingsActivity extends SettingsActivity { /* empty */ }
public static class NotificationAccessSettingsActivity extends SettingsActivity { /* empty */ }

View File

@@ -32,8 +32,14 @@ public class CommunalPreferenceController extends BasePreferenceController {
@Override
public int getAvailabilityStatus() {
return (mContext.getResources().getBoolean(R.bool.config_show_communal_settings)
&& Utils.canCurrentUserDream(mContext))
? AVAILABLE : UNSUPPORTED_ON_DEVICE;
return isAvailable(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
/**
* Returns whether communal preferences are available.
*/
public static boolean isAvailable(Context context) {
return context.getResources().getBoolean(R.bool.config_show_communal_settings)
&& Utils.canCurrentUserDream(context);
}
}

View File

@@ -78,6 +78,7 @@ import com.android.settings.bluetooth.BluetoothDeviceDetailsFragment;
import com.android.settings.bluetooth.BluetoothFindBroadcastsFragment;
import com.android.settings.bluetooth.BluetoothPairingDetail;
import com.android.settings.bugreporthandler.BugReportHandlerPicker;
import com.android.settings.communal.CommunalDashboardFragment;
import com.android.settings.connecteddevice.AdvancedConnectedDeviceDashboardFragment;
import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
import com.android.settings.connecteddevice.NfcAndPaymentFragment;
@@ -275,6 +276,7 @@ public class SettingsGateway {
SystemNavigationGestureSettings.class.getName(),
DataUsageSummary.class.getName(),
DreamSettings.class.getName(),
CommunalDashboardFragment.class.getName(),
UserSettings.class.getName(),
NotificationAccessSettings.class.getName(),
NotificationAccessDetails.class.getName(),