@@ -36,23 +36,17 @@ export function applyRequestLockPolicy(
3636 }
3737
3838 const nextFlags : CommandFlags = { ...( req . flags ?? { } ) } ;
39- const allowsSelectorOverride = SELECTOR_OVERRIDE_LOCK_POLICY_COMMANDS . has ( req . command ) ;
40- const conflicts = listLockPolicyConflicts (
41- req ,
42- existingSession ,
43- nextFlags ,
44- allowsSelectorOverride ,
45- ) ;
39+ const canOverrideSelector = SELECTOR_OVERRIDE_LOCK_POLICY_COMMANDS . has ( req . command ) ;
40+ const conflicts = canOverrideSelector
41+ ? [ ]
42+ : existingSession
43+ ? listSessionSelectorConflicts ( existingSession , nextFlags )
44+ : listFreshSessionConflicts ( nextFlags , req . meta ?. lockPlatform , req . command ) ;
4645 const lockPlatform = req . meta ?. lockPlatform ;
4746
4847 if ( conflicts . length === 0 ) {
4948 if (
50- shouldApplyLockPlatformDefault (
51- allowsSelectorOverride ,
52- existingSession ,
53- nextFlags ,
54- lockPlatform ,
55- )
49+ shouldApplyLockPlatformDefault ( canOverrideSelector , existingSession , nextFlags , lockPlatform )
5650 ) {
5751 nextFlags . platform = lockPlatform ;
5852 }
@@ -77,28 +71,16 @@ export function applyRequestLockPolicy(
7771 ) ;
7872}
7973
80- function listLockPolicyConflicts (
81- req : DaemonRequest ,
82- existingSession : SessionState | undefined ,
83- flags : CommandFlags ,
84- allowsSelectorOverride : boolean ,
85- ) : SessionSelectorConflict [ ] {
86- if ( allowsSelectorOverride ) return [ ] ;
87- return existingSession
88- ? listSessionSelectorConflicts ( existingSession , flags )
89- : listFreshSessionConflicts ( flags , req . meta ?. lockPlatform , req . command ) ;
90- }
91-
9274function shouldApplyLockPlatformDefault (
93- allowsSelectorOverride : boolean ,
75+ canOverrideSelector : boolean ,
9476 existingSession : SessionState | undefined ,
9577 flags : CommandFlags ,
9678 lockPlatform : LockPlatform ,
9779) : boolean {
9880 if ( ! lockPlatform || existingSession || flags . platform !== undefined ) {
9981 return false ;
10082 }
101- if ( ! allowsSelectorOverride ) {
83+ if ( ! canOverrideSelector ) {
10284 return true ;
10385 }
10486 return flags . serial === undefined && flags . androidDeviceAllowlist === undefined ;
0 commit comments