Loading services/core/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ java_library_static { "android.hardware.vibrator-V1.0-java", "android.hardware.configstore-V1.0-java", "android.hardware.contexthub-V1.0-java", "vendor.lineage.trust-V1.0-java", ], } Loading services/core/java/com/android/server/policy/keyguard/KeyguardStateMonitor.java +25 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.server.policy.keyguard; import android.app.ActivityManager; import android.content.Context; import android.content.ContentResolver; import android.os.RemoteException; import android.os.ServiceManager; import android.security.IKeystoreService; Loading @@ -27,7 +28,11 @@ import com.android.internal.policy.IKeyguardService; import com.android.internal.policy.IKeyguardStateCallback; import com.android.internal.widget.LockPatternUtils; import lineageos.providers.LineageSettings; import vendor.lineage.trust.V1_0.IUsbRestrict; import java.io.PrintWriter; import java.util.NoSuchElementException; /** * Maintains a cached copy of Keyguard's state. Loading @@ -53,12 +58,16 @@ public class KeyguardStateMonitor extends IKeyguardStateCallback.Stub { private final LockPatternUtils mLockPatternUtils; private final StateCallback mCallback; private IUsbRestrict mUsbRestrictor; private ContentResolver mContentResolver; IKeystoreService mKeystoreService; public KeyguardStateMonitor(Context context, IKeyguardService service, StateCallback callback) { mLockPatternUtils = new LockPatternUtils(context); mCurrentUserId = ActivityManager.getCurrentUser(); mCallback = callback; mContentResolver = context.getContentResolver(); mKeystoreService = IKeystoreService.Stub.asInterface(ServiceManager .getService("android.security.keystore")); Loading @@ -68,6 +77,12 @@ public class KeyguardStateMonitor extends IKeyguardStateCallback.Stub { } catch (RemoteException e) { Slog.w(TAG, "Remote Exception", e); } try { mUsbRestrictor = IUsbRestrict.getService(); } catch (NoSuchElementException | RemoteException ignored) { // Ignore, the hal is not available } } public boolean isShowing() { Loading Loading @@ -100,6 +115,16 @@ public class KeyguardStateMonitor extends IKeyguardStateCallback.Stub { } catch (RemoteException e) { Slog.e(TAG, "Error informing keystore of screen lock", e); } boolean shouldRestrictUsb = LineageSettings.Secure.getInt(mContentResolver, LineageSettings.Secure.TRUST_RESTRICT_USB_KEYGUARD, 0) == 1; if (shouldRestrictUsb) { try { mUsbRestrictor.setEnabled(showing); } catch (RemoteException ignored) { // This feature is not supported } } } @Override // Binder interface Loading Loading
services/core/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ java_library_static { "android.hardware.vibrator-V1.0-java", "android.hardware.configstore-V1.0-java", "android.hardware.contexthub-V1.0-java", "vendor.lineage.trust-V1.0-java", ], } Loading
services/core/java/com/android/server/policy/keyguard/KeyguardStateMonitor.java +25 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.server.policy.keyguard; import android.app.ActivityManager; import android.content.Context; import android.content.ContentResolver; import android.os.RemoteException; import android.os.ServiceManager; import android.security.IKeystoreService; Loading @@ -27,7 +28,11 @@ import com.android.internal.policy.IKeyguardService; import com.android.internal.policy.IKeyguardStateCallback; import com.android.internal.widget.LockPatternUtils; import lineageos.providers.LineageSettings; import vendor.lineage.trust.V1_0.IUsbRestrict; import java.io.PrintWriter; import java.util.NoSuchElementException; /** * Maintains a cached copy of Keyguard's state. Loading @@ -53,12 +58,16 @@ public class KeyguardStateMonitor extends IKeyguardStateCallback.Stub { private final LockPatternUtils mLockPatternUtils; private final StateCallback mCallback; private IUsbRestrict mUsbRestrictor; private ContentResolver mContentResolver; IKeystoreService mKeystoreService; public KeyguardStateMonitor(Context context, IKeyguardService service, StateCallback callback) { mLockPatternUtils = new LockPatternUtils(context); mCurrentUserId = ActivityManager.getCurrentUser(); mCallback = callback; mContentResolver = context.getContentResolver(); mKeystoreService = IKeystoreService.Stub.asInterface(ServiceManager .getService("android.security.keystore")); Loading @@ -68,6 +77,12 @@ public class KeyguardStateMonitor extends IKeyguardStateCallback.Stub { } catch (RemoteException e) { Slog.w(TAG, "Remote Exception", e); } try { mUsbRestrictor = IUsbRestrict.getService(); } catch (NoSuchElementException | RemoteException ignored) { // Ignore, the hal is not available } } public boolean isShowing() { Loading Loading @@ -100,6 +115,16 @@ public class KeyguardStateMonitor extends IKeyguardStateCallback.Stub { } catch (RemoteException e) { Slog.e(TAG, "Error informing keystore of screen lock", e); } boolean shouldRestrictUsb = LineageSettings.Secure.getInt(mContentResolver, LineageSettings.Secure.TRUST_RESTRICT_USB_KEYGUARD, 0) == 1; if (shouldRestrictUsb) { try { mUsbRestrictor.setEnabled(showing); } catch (RemoteException ignored) { // This feature is not supported } } } @Override // Binder interface Loading