diff options
| -rw-r--r-- | core/java/android/credentials/selection/IntentFactory.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/core/java/android/credentials/selection/IntentFactory.java b/core/java/android/credentials/selection/IntentFactory.java index b98a0d825227..c521b96fd8ee 100644 --- a/core/java/android/credentials/selection/IntentFactory.java +++ b/core/java/android/credentials/selection/IntentFactory.java @@ -232,7 +232,17 @@ public class IntentFactory { oemComponentName, PackageManager.ComponentInfoFlags.of( PackageManager.MATCH_SYSTEM_ONLY)); - if (info.enabled && info.exported) { + boolean oemComponentEnabled = info.enabled; + int runtimeComponentEnabledState = context.getPackageManager() + .getComponentEnabledSetting(oemComponentName); + if (runtimeComponentEnabledState == PackageManager + .COMPONENT_ENABLED_STATE_ENABLED) { + oemComponentEnabled = true; + } else if (runtimeComponentEnabledState == PackageManager + .COMPONENT_ENABLED_STATE_DISABLED) { + oemComponentEnabled = false; + } + if (oemComponentEnabled && info.exported) { intentResultBuilder.setOemUiUsageStatus(IntentCreationResult .OemUiUsageStatus.SUCCESS); Slog.i(TAG, |