Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
69accf61
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
69accf61
编写于
12月 04, 2017
作者:
K
kieferrm
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
remove UserIdleStart and UserIdleStop events
上级
47ad2e70
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
2 addition
and
94 deletion
+2
-94
src/vs/platform/telemetry/browser/idleMonitor.ts
src/vs/platform/telemetry/browser/idleMonitor.ts
+0
-78
src/vs/workbench/electron-browser/shell.ts
src/vs/workbench/electron-browser/shell.ts
+2
-16
未找到文件。
src/vs/platform/telemetry/browser/idleMonitor.ts
已删除
100644 → 0
浏览文件 @
47ad2e70
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'
use strict
'
;
import
{
TimeoutTimer
}
from
'
vs/base/common/async
'
;
import
Event
,
{
Emitter
}
from
'
vs/base/common/event
'
;
import
{
Disposable
}
from
'
vs/base/common/lifecycle
'
;
import
*
as
dom
from
'
vs/base/browser/dom
'
;
export
enum
UserStatus
{
Idle
,
Active
}
export
class
IdleMonitor
extends
Disposable
{
private
_lastActiveTime
:
number
;
private
_idleCheckTimeout
:
TimeoutTimer
;
private
_status
:
UserStatus
;
private
_idleTime
:
number
;
private
_onStatusChange
:
Emitter
<
UserStatus
>
;
get
onStatusChange
():
Event
<
UserStatus
>
{
return
this
.
_onStatusChange
.
event
;
}
constructor
(
idleTime
:
number
)
{
super
();
this
.
_status
=
null
;
this
.
_idleCheckTimeout
=
this
.
_register
(
new
TimeoutTimer
());
this
.
_lastActiveTime
=
-
1
;
this
.
_idleTime
=
idleTime
;
this
.
_onStatusChange
=
new
Emitter
<
UserStatus
>
();
this
.
_register
(
dom
.
addDisposableListener
(
document
,
'
mousemove
'
,
()
=>
this
.
_onUserActive
()));
this
.
_register
(
dom
.
addDisposableListener
(
document
,
'
keydown
'
,
()
=>
this
.
_onUserActive
()));
this
.
_onUserActive
();
}
get
status
():
UserStatus
{
return
this
.
_status
;
}
private
_onUserActive
():
void
{
this
.
_lastActiveTime
=
(
new
Date
()).
getTime
();
if
(
this
.
_status
!==
UserStatus
.
Active
)
{
this
.
_status
=
UserStatus
.
Active
;
this
.
_scheduleIdleCheck
();
this
.
_onStatusChange
.
fire
(
this
.
_status
);
}
}
private
_onUserIdle
():
void
{
if
(
this
.
_status
!==
UserStatus
.
Idle
)
{
this
.
_status
=
UserStatus
.
Idle
;
this
.
_onStatusChange
.
fire
(
this
.
_status
);
}
}
private
_scheduleIdleCheck
():
void
{
const
minimumTimeWhenUserCanBecomeIdle
=
this
.
_lastActiveTime
+
this
.
_idleTime
;
const
timeout
=
minimumTimeWhenUserCanBecomeIdle
-
(
new
Date
()).
getTime
();
this
.
_idleCheckTimeout
.
setIfNotSet
(()
=>
this
.
_checkIfUserIsIdle
(),
timeout
);
}
private
_checkIfUserIsIdle
():
void
{
const
actualIdleTime
=
(
new
Date
()).
getTime
()
-
this
.
_lastActiveTime
;
if
(
actualIdleTime
>=
this
.
_idleTime
)
{
this
.
_onUserIdle
();
}
else
{
this
.
_scheduleIdleCheck
();
}
}
}
src/vs/workbench/electron-browser/shell.ts
浏览文件 @
69accf61
...
@@ -25,7 +25,6 @@ import { NullTelemetryService, configurationTelemetry, lifecycleTelemetry } from
...
@@ -25,7 +25,6 @@ import { NullTelemetryService, configurationTelemetry, lifecycleTelemetry } from
import
{
IExperimentService
,
ExperimentService
}
from
'
vs/platform/telemetry/common/experiments
'
;
import
{
IExperimentService
,
ExperimentService
}
from
'
vs/platform/telemetry/common/experiments
'
;
import
{
ITelemetryAppenderChannel
,
TelemetryAppenderClient
}
from
'
vs/platform/telemetry/common/telemetryIpc
'
;
import
{
ITelemetryAppenderChannel
,
TelemetryAppenderClient
}
from
'
vs/platform/telemetry/common/telemetryIpc
'
;
import
{
TelemetryService
,
ITelemetryServiceConfig
}
from
'
vs/platform/telemetry/common/telemetryService
'
;
import
{
TelemetryService
,
ITelemetryServiceConfig
}
from
'
vs/platform/telemetry/common/telemetryService
'
;
import
{
IdleMonitor
,
UserStatus
}
from
'
vs/platform/telemetry/browser/idleMonitor
'
;
import
ErrorTelemetry
from
'
vs/platform/telemetry/browser/errorTelemetry
'
;
import
ErrorTelemetry
from
'
vs/platform/telemetry/browser/errorTelemetry
'
;
import
{
ElectronWindow
}
from
'
vs/workbench/electron-browser/window
'
;
import
{
ElectronWindow
}
from
'
vs/workbench/electron-browser/window
'
;
import
{
resolveWorkbenchCommonProperties
}
from
'
vs/platform/telemetry/node/workbenchCommonProperties
'
;
import
{
resolveWorkbenchCommonProperties
}
from
'
vs/platform/telemetry/node/workbenchCommonProperties
'
;
...
@@ -334,21 +333,8 @@ export class WorkbenchShell {
...
@@ -334,21 +333,8 @@ export class WorkbenchShell {
this
.
telemetryService
=
telemetryService
;
this
.
telemetryService
=
telemetryService
;
const
errorTelemetry
=
new
ErrorTelemetry
(
telemetryService
);
const
errorTelemetry
=
new
ErrorTelemetry
(
telemetryService
);
const
idleMonitor
=
new
IdleMonitor
(
2
*
60
*
1000
);
// 2 minutes
disposables
.
push
(
telemetryService
,
errorTelemetry
);
const
listener
=
idleMonitor
.
onStatusChange
(
status
=>
/* __GDPR__
"UserIdleStart" : {}
*/
/* __GDPR__
"UserIdleStop" : {}
*/
this
.
telemetryService
.
publicLog
(
status
===
UserStatus
.
Active
?
TelemetryService
.
IDLE_STOP_EVENT_NAME
:
TelemetryService
.
IDLE_START_EVENT_NAME
));
disposables
.
push
(
telemetryService
,
errorTelemetry
,
listener
,
idleMonitor
);
}
else
{
}
else
{
this
.
telemetryService
=
NullTelemetryService
;
this
.
telemetryService
=
NullTelemetryService
;
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录