2019-09-24 09:03:36 +09:00
|
|
|
import { Observable } from 'rxjs';
|
|
|
|
|
2019-11-01 11:25:54 +09:00
|
|
|
import {
|
|
|
|
NativeService,
|
|
|
|
WindowState,
|
2019-11-09 17:29:02 +09:00
|
|
|
NotificationRequest,
|
2019-11-07 16:56:14 +09:00
|
|
|
WindowIdle
|
2019-11-01 11:25:54 +09:00
|
|
|
} from '@ucap-webmessenger/native';
|
2019-09-24 09:03:36 +09:00
|
|
|
import { HttpClient } from '@angular/common/http';
|
|
|
|
import { map } from 'rxjs/operators';
|
|
|
|
|
|
|
|
export class BrowserNativeService implements NativeService {
|
2019-11-09 17:29:02 +09:00
|
|
|
notify(noti: NotificationRequest): void {}
|
|
|
|
closeAllNotify(): void {}
|
2019-09-24 09:03:36 +09:00
|
|
|
|
|
|
|
checkForUpdates(): Observable<boolean> {
|
|
|
|
return new Observable<boolean>(subscriber => {
|
|
|
|
try {
|
|
|
|
subscriber.next(false);
|
|
|
|
} catch (error) {
|
|
|
|
subscriber.error(error);
|
|
|
|
} finally {
|
|
|
|
subscriber.complete();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
showImageViewer(): void {}
|
|
|
|
|
2019-11-07 11:37:33 +09:00
|
|
|
readFile(path: string): Observable<Buffer> {
|
|
|
|
return this.httpClient.get(path, { responseType: 'arraybuffer' }).pipe(
|
|
|
|
map(arrayBuffer => {
|
|
|
|
return Buffer.from(arrayBuffer);
|
|
|
|
})
|
|
|
|
);
|
2019-09-24 09:03:36 +09:00
|
|
|
}
|
|
|
|
|
2019-11-07 11:37:33 +09:00
|
|
|
saveFile(
|
|
|
|
buffer: Buffer,
|
|
|
|
fileName: string,
|
|
|
|
path?: string
|
|
|
|
): Observable<string> {
|
|
|
|
return this.httpClient.post<string>(path, buffer, {});
|
2019-09-24 09:03:36 +09:00
|
|
|
}
|
|
|
|
|
2019-10-24 15:37:33 +09:00
|
|
|
windowStateChanged(): Observable<WindowState> {
|
|
|
|
return new Observable<WindowState>(subscriber => {
|
|
|
|
try {
|
|
|
|
subscriber.next(WindowState.Normal);
|
|
|
|
} catch (error) {
|
|
|
|
subscriber.error(error);
|
|
|
|
} finally {
|
|
|
|
subscriber.complete();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
windowClose(): void {}
|
|
|
|
|
|
|
|
windowMinimize(): void {}
|
|
|
|
|
|
|
|
windowMaximize(): void {}
|
|
|
|
|
2019-11-07 16:56:14 +09:00
|
|
|
idleStateChanged(): Observable<WindowIdle> {
|
|
|
|
return new Observable<WindowIdle>(subscriber => {
|
|
|
|
try {
|
|
|
|
subscriber.next(WindowIdle.Active);
|
|
|
|
} catch (error) {
|
|
|
|
subscriber.error(error);
|
|
|
|
} finally {
|
|
|
|
subscriber.complete();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2019-09-24 09:03:36 +09:00
|
|
|
constructor(private httpClient: HttpClient) {}
|
|
|
|
}
|