Add flag to guard the Credential Manager system service.

Bug: 262460667
Test: locally tested.
Change-Id: I929b78b4e5d3bf6fefc2517b6cbf33b56a6b5cf3
This commit is contained in:
Guangjie Shi
2022-12-17 07:46:12 +00:00
parent dfb178d1d0
commit 5c90ad35c0
2 changed files with 19 additions and 5 deletions

View File

@@ -50,12 +50,18 @@ import java.util.concurrent.Executor;
@SystemService(Context.CREDENTIAL_SERVICE)
public final class CredentialManager {
private static final String TAG = "CredentialManager";
private static final String DEVICE_CONFIG_ENABLE_CREDENTIAL_MANAGER =
"enable_credential_manager";
private final Context mContext;
private final ICredentialManager mService;
/**
* Flag to enable and disable Credential Manager.
*
* @hide
*/
public static final String DEVICE_CONFIG_ENABLE_CREDENTIAL_MANAGER =
"enable_credential_manager";
/**
* @hide instantiated by ContextImpl.
*/

View File

@@ -46,6 +46,7 @@ import android.content.pm.PackageManager;
import android.content.pm.PackageManagerInternal;
import android.content.res.Configuration;
import android.content.res.Resources.Theme;
import android.credentials.CredentialManager;
import android.database.sqlite.SQLiteCompatibilityWalFlags;
import android.database.sqlite.SQLiteGlobal;
import android.graphics.GraphicsStatsService;
@@ -2609,9 +2610,16 @@ public final class SystemServer implements Dumpable {
}
if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_CREDENTIALS)) {
t.traceBegin("StartCredentialManagerService");
mSystemServiceManager.startService(CREDENTIAL_MANAGER_SERVICE_CLASS);
t.traceEnd();
boolean credentialManagerEnabled =
DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_CREDENTIAL,
CredentialManager.DEVICE_CONFIG_ENABLE_CREDENTIAL_MANAGER, true);
if (credentialManagerEnabled) {
t.traceBegin("StartCredentialManagerService");
mSystemServiceManager.startService(CREDENTIAL_MANAGER_SERVICE_CLASS);
t.traceEnd();
} else {
Slog.d(TAG, "CredentialManager disabled.");
}
}
// Translation manager service