Settings: Add app lock settings for alternate security settings provider

* When google security settings provider overrides security settings,
  app lock settings cannot be found.
* Add same to advanced settings.

Fixes: https://github.com/crdroidandroid/crdroid_features/issues/101
Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
This commit is contained in:
Pranav Vashi
2023-10-14 22:42:52 +05:30
committed by Joey
parent 5ed3dd40b6
commit 81a32f493f
3 changed files with 11 additions and 2 deletions

View File

@@ -158,6 +158,11 @@
android:key="security_settings_device_admin_category" android:key="security_settings_device_admin_category"
android:layout="@layout/preference_category_no_label"> android:layout="@layout/preference_category_no_label">
<!-- App lock -->
<com.android.settingslib.RestrictedPreference
android:key="app_lock"
android:title="@string/app_lock_title" />
<Preference <Preference
android:key="manage_device_admin" android:key="manage_device_admin"
android:title="@string/manage_device_admin" android:title="@string/manage_device_admin"

View File

@@ -39,6 +39,7 @@ import com.android.settings.notification.LockScreenNotificationPreferenceControl
import com.android.settings.privacy.PrivacyDashboardFragment; import com.android.settings.privacy.PrivacyDashboardFragment;
import com.android.settings.security.ChangeProfileScreenLockPreferenceController; import com.android.settings.security.ChangeProfileScreenLockPreferenceController;
import com.android.settings.security.LockUnificationPreferenceController; import com.android.settings.security.LockUnificationPreferenceController;
import com.android.settings.security.applock.AppLockSettingsPreferenceController;
import com.android.settings.security.trustagent.TrustAgentListPreferenceController; import com.android.settings.security.trustagent.TrustAgentListPreferenceController;
import com.android.settings.widget.PreferenceCategoryController; import com.android.settings.widget.PreferenceCategoryController;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
@@ -55,6 +56,7 @@ public final class SafetyCenterUtils {
"privacy_work_profile_notifications_category"; "privacy_work_profile_notifications_category";
private static final String KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS = private static final String KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS =
"privacy_lock_screen_work_profile_notifications"; "privacy_lock_screen_work_profile_notifications";
private static final String APP_LOCK_PREF_KEY = "app_lock";
/** /**
* Returns preference controllers related to advanced security entries. This is used in {@link * Returns preference controllers related to advanced security entries. This is used in {@link
@@ -80,6 +82,8 @@ public final class SafetyCenterUtils {
.add(new CombinedBiometricProfileStatusPreferenceController(context, lifecycle)); .add(new CombinedBiometricProfileStatusPreferenceController(context, lifecycle));
controllers.add(new PreferenceCategoryController(context, WORK_PROFILE_SECURITY_CATEGORY) controllers.add(new PreferenceCategoryController(context, WORK_PROFILE_SECURITY_CATEGORY)
.setChildren(profileSecurityControllers)); .setChildren(profileSecurityControllers));
controllers.add(new AppLockSettingsPreferenceController(
context, APP_LOCK_PREF_KEY, host, lifecycle));
controllers.addAll(profileSecurityControllers); controllers.addAll(profileSecurityControllers);
return controllers; return controllers;
} }

View File

@@ -35,8 +35,8 @@ import com.android.internal.widget.LockPatternUtils
import com.android.settings.R import com.android.settings.R
import com.android.settings.Utils.SETTINGS_PACKAGE_NAME import com.android.settings.Utils.SETTINGS_PACKAGE_NAME
import com.android.settings.core.SubSettingLauncher import com.android.settings.core.SubSettingLauncher
import com.android.settings.dashboard.DashboardFragment
import com.android.settings.password.ConfirmDeviceCredentialActivity import com.android.settings.password.ConfirmDeviceCredentialActivity
import com.android.settings.security.SecuritySettings
import com.android.settingslib.core.lifecycle.Lifecycle import com.android.settingslib.core.lifecycle.Lifecycle
import com.android.settingslib.transition.SettingsTransitionHelper.TransitionType.TRANSITION_SLIDE import com.android.settingslib.transition.SettingsTransitionHelper.TransitionType.TRANSITION_SLIDE
import com.android.settings.core.BasePreferenceController import com.android.settings.core.BasePreferenceController
@@ -48,7 +48,7 @@ import com.android.settingslib.core.instrumentation.MetricsFeatureProvider
class AppLockSettingsPreferenceController( class AppLockSettingsPreferenceController(
context: Context, context: Context,
preferenceKey: String, preferenceKey: String,
private val host: SecuritySettings?, private val host: DashboardFragment?,
lifecycle: Lifecycle?, lifecycle: Lifecycle?,
) : BasePreferenceController(context, preferenceKey), ) : BasePreferenceController(context, preferenceKey),
LifecycleEventObserver { LifecycleEventObserver {