feat(x4): add per-camera manual wake and hide power action when connected
This commit is contained in:
@@ -5,7 +5,7 @@ import ts from 'typescript';
|
||||
|
||||
const source=readFileSync(new URL('../../../plugins/insta360-x4/frontend/src/model.ts',import.meta.url),'utf8');
|
||||
const code=ts.transpileModule(source,{compilerOptions:{module:ts.ModuleKind.ESNext}}).outputText;
|
||||
const {cameraLabel,cameraStatus,resolutionLabel}=await import('data:text/javascript;base64,'+Buffer.from(code).toString('base64'));
|
||||
const {cameraLabel,cameraStatus,resolutionLabel,cameraRowActions}=await import('data:text/javascript;base64,'+Buffer.from(code).toString('base64'));
|
||||
const camera={id:'instax4_synthetic_a',online:true,configured:true,prepared:true,snapshot:{enrollment:'enrolled'},camera_status:{connected:true,recording:0,preview:0,function_mode:7}};
|
||||
|
||||
test('SD recording remains visible after preview closes, independently for each camera',()=>{
|
||||
@@ -27,3 +27,17 @@ test('installed model support does not enroll a new physical camera',()=>{
|
||||
test('SDK resolution names are presented with their actual dimensions and frame rate',()=>{
|
||||
assert.equal(resolutionLabel('3840_1920_30'),'3840 × 1920 · 30 кадр/с');
|
||||
});
|
||||
|
||||
test('manual wake is available for an enrolled offline camera with automatic recovery disabled',()=>{
|
||||
const offline={...camera,online:false,camera_status:{recovery:{supported:true,enabled:false,wake_available:true}}};
|
||||
assert.equal(cameraRowActions(offline)[0].actionId,'power.wake');
|
||||
assert.equal(cameraRowActions(offline)[0].disabled,false);
|
||||
assert.deepEqual(cameraRowActions({...offline,online:true}),[]);
|
||||
assert.equal(cameraRowActions({...offline,configured:false})[0].disabled,true);
|
||||
assert.equal(cameraRowActions({...offline,prepared:false})[0].disabled,true);
|
||||
assert.equal(offline.camera_status.recovery.enabled,false);
|
||||
});
|
||||
test('old drivers and unknown wake identities never offer an active power command',()=>{
|
||||
assert.deepEqual(cameraRowActions(camera),[]);
|
||||
assert.equal(cameraRowActions({...camera,online:false,camera_status:{recovery:{supported:true}}})[0].disabled,true);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user