/* * Copyright (C) 2025 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.privatespace import android.content.ComponentName import android.content.Context import android.content.pm.PackageManager import android.os.UserManager import android.util.Log private const val TAG = "LauncherActivityDisabler" /** A utility object for disabling components related to Private Space. */ object PrivateSpaceActivityDisabler { /** * Disables the [PrivateSpaceActivity] component if the current user is not the private profile. */ fun disableActivityIfNotPrivateProfile(context: Context): Boolean { val userManager = context.getSystemService(UserManager::class.java) if (userManager?.isPrivateProfile == true) { return false } Log.w(TAG, "Current user is not a private profile. Disabling launcher activity.") val componentName = ComponentName(context, PrivateSpaceActivity::class.java) context.packageManager.setComponentEnabledSetting( componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP, ) return true } }