提交 086e0491 编写于 作者: M Matt Bierner

Use a mutable disposable to track showActivity result

上级 27a628bc
......@@ -5,7 +5,7 @@
import { localize } from 'vs/nls';
import { basename } from 'vs/base/common/resources';
import { IDisposable, dispose, Disposable, DisposableStore, combinedDisposable } from 'vs/base/common/lifecycle';
import { IDisposable, dispose, Disposable, DisposableStore, combinedDisposable, MutableDisposable } from 'vs/base/common/lifecycle';
import { Event } from 'vs/base/common/event';
import { VIEWLET_ID, ISCMService, ISCMRepository } from 'vs/workbench/contrib/scm/common/scm';
import { IActivityService, NumberBadge } from 'vs/workbench/services/activity/common/activity';
......@@ -18,7 +18,7 @@ import { ILogService } from 'vs/platform/log/common/log';
export class StatusUpdater implements IWorkbenchContribution {
private badgeDisposable: IDisposable = Disposable.None;
private readonly badgeDisposable = new MutableDisposable<IDisposable>();
private disposables: IDisposable[] = [];
constructor(
......@@ -51,7 +51,7 @@ export class StatusUpdater implements IWorkbenchContribution {
}
private render(): void {
this.badgeDisposable.dispose();
this.badgeDisposable.clear();
const count = this.scmService.repositories.reduce((r, repository) => {
if (typeof repository.provider.count === 'number') {
......@@ -66,9 +66,9 @@ export class StatusUpdater implements IWorkbenchContribution {
if (count > 0) {
const badge = new NumberBadge(count, num => localize('scmPendingChangesBadge', '{0} pending changes', num));
this.badgeDisposable = this.activityService.showActivity(VIEWLET_ID, badge, 'scm-viewlet-label');
this.badgeDisposable.value = this.activityService.showActivity(VIEWLET_ID, badge, 'scm-viewlet-label');
} else {
this.badgeDisposable = Disposable.None;
this.badgeDisposable.clear();
}
}
......
......@@ -6,7 +6,7 @@
import * as nls from 'vs/nls';
import severity from 'vs/base/common/severity';
import { Action } from 'vs/base/common/actions';
import { IDisposable, Disposable } from 'vs/base/common/lifecycle';
import { Disposable, MutableDisposable } from 'vs/base/common/lifecycle';
import pkg from 'vs/platform/product/node/package';
import product from 'vs/platform/product/node/product';
import { URI } from 'vs/base/common/uri';
......@@ -219,7 +219,7 @@ export class Win3264BitContribution implements IWorkbenchContribution {
export class UpdateContribution extends Disposable implements IWorkbenchContribution {
private state: UpdateState;
private badgeDisposable: IDisposable = Disposable.None;
private readonly badgeDisposable = this._register(new MutableDisposable());
private updateStateContextKey: IContextKey<string>;
constructor(
......@@ -298,10 +298,10 @@ export class UpdateContribution extends Disposable implements IWorkbenchContribu
clazz = 'progress-badge';
}
this.badgeDisposable.dispose();
this.badgeDisposable.clear();
if (badge) {
this.badgeDisposable = this.activityService.showActivity(GLOBAL_ACTIVITY_ID, badge, clazz);
this.badgeDisposable.value = this.activityService.showActivity(GLOBAL_ACTIVITY_ID, badge, clazz);
}
this.state = state;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册