Skip to content

Commit 8859864

Browse files
committed
Show decompilation authorization once per install.
1 parent 0d95e19 commit 8859864

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

src/features/commands.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import OptionProvider from '../observers/OptionProvider';
2121
import reportIssue from './reportIssue';
2222
import { IMonoResolver } from '../constants/IMonoResolver';
2323
import { getDotnetInfo } from '../utils/getDotnetInfo';
24-
import { getDecompilationAuthorization } from '../omnisharp/decompilationPrompt';
24+
import { getDecompilationAuthorization, resetDecompilationAuthorization } from '../omnisharp/decompilationPrompt';
2525

2626
export default function registerCommands(context: vscode.ExtensionContext, server: OmniSharpServer, platformInfo: PlatformInformation, eventStream: EventStream, optionProvider: OptionProvider, monoResolver: IMonoResolver, packageJSON: any, extensionPath: string): CompositeDisposable {
2727
let disposable = new CompositeDisposable();
@@ -62,13 +62,13 @@ export default function registerCommands(context: vscode.ExtensionContext, serve
6262

6363
async function showDecompilationTerms(context: vscode.ExtensionContext, server: OmniSharpServer, optionProvider: OptionProvider) {
6464
// Reset the decompilation authorization so the user will be prompted on restart.
65-
context.workspaceState.update("decompilationAuthorized", undefined);
65+
resetDecompilationAuthorization(context);
6666

6767
await restartOmniSharp(context, server, optionProvider);
6868
}
6969

7070
async function restartOmniSharp(context: vscode.ExtensionContext, server: OmniSharpServer, optionProvider: OptionProvider) {
71-
// Update decompilation authorization for this workspace.
71+
// Update decompilation authorization.
7272
server.decompilationAuthorized = await getDecompilationAuthorization(context, optionProvider);
7373

7474
if (server.isRunning()) {

src/omnisharp/decompilationPrompt.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,27 @@
66
import * as vscode from "vscode";
77
import OptionProvider from "../observers/OptionProvider";
88

9+
export async function resetDecompilationAuthorization(context: vscode.ExtensionContext) {
10+
context.globalState.update("csharp.decompilationAuthorized", undefined);
11+
}
12+
913
export async function getDecompilationAuthorization(context: vscode.ExtensionContext, optionProvider: OptionProvider) {
10-
// If decompilation is disabled the return false
14+
// If decompilation is disabled, then return false
1115
const options = optionProvider.GetLatestOptions();
1216
if (options.enableDecompilationSupport === false) {
1317
return false;
1418
}
1519

16-
// If the terms have been acknowledged for this workspace then return.
17-
let decompilationAutorized = context.workspaceState.get<boolean | undefined>("decompilationAuthorized");
20+
// If the terms have been acknowledged, then return whether it was authorized.
21+
let decompilationAutorized = context.globalState.get<boolean | undefined>("csharp.decompilationAuthorized");
1822
if (decompilationAutorized !== undefined) {
1923
return decompilationAutorized;
2024
}
2125

2226
const result = await promptToAcceptDecompilationTerms();
2327
decompilationAutorized = result === PromptResult.Yes;
2428

25-
await context.workspaceState.update("decompilationAuthorized", decompilationAutorized);
29+
await context.globalState.update("csharp.decompilationAuthorized", decompilationAutorized);
2630

2731
return decompilationAutorized;
2832
}

0 commit comments

Comments
 (0)