113 lines
4.7 KiB
TypeScript
113 lines
4.7 KiB
TypeScript
// Module ID: 11351
|
|
// Function ID: 88281
|
|
// Name: generateBase64EncodedWaveform
|
|
// Dependencies: []
|
|
// Exports: emitVoiceMessageRecorded, endAudioRecording, startAudioRecording, triggerHaptic
|
|
|
|
// Module 11351 (generateBase64EncodedWaveform)
|
|
function generateBase64EncodedWaveform(waveform) {
|
|
let arr = waveform;
|
|
if (waveform.length > closure_16) {
|
|
arr = importDefault(dependencyMap[6])(waveform, tmp);
|
|
}
|
|
const mapped = arr.map((arg0) => Math.min(arg0, closure_13));
|
|
const uint8Array = new Uint8Array(mapped);
|
|
return importDefault(dependencyMap[7]).fromByteArray(uint8Array);
|
|
}
|
|
function _startAudioRecording() {
|
|
// CreateGeneratorClosureLongIndex (0x67)
|
|
const obj = callback(tmp);
|
|
const _startAudioRecording = obj;
|
|
return obj(...arguments);
|
|
}
|
|
function resetAudioRecording() {
|
|
const mediaEngine = mediaEngine.getMediaEngine();
|
|
mediaEngine.removeListener(arg1(dependencyMap[9]).MediaEngineEvent.VoiceActivity, closure_21);
|
|
callback3();
|
|
}
|
|
function stopAndGetAudioRecording() {
|
|
callback4(null);
|
|
callback5(null);
|
|
const waveform = store.getState().waveform;
|
|
let closure_0 = generateBase64EncodedWaveform(waveform.map((arg0) => {
|
|
let tmp;
|
|
[tmp] = arg0;
|
|
return tmp;
|
|
}));
|
|
return new Promise((arg0) => {
|
|
let closure_0 = arg0;
|
|
const mediaEngine = mediaEngine.getMediaEngine();
|
|
const result = mediaEngine.stopLocalAudioRecording((filename) => {
|
|
filename({ filename, durationSecs: arg1 / 1000, waveform: filename });
|
|
});
|
|
});
|
|
}
|
|
function _endAudioRecording() {
|
|
// CreateGeneratorClosureLongIndex (0x67)
|
|
const obj = callback(tmp);
|
|
const _endAudioRecording = obj;
|
|
return obj(...arguments);
|
|
}
|
|
function stopAndCacheAudioRecording() {
|
|
return _stopAndCacheAudioRecording(...arguments);
|
|
}
|
|
function _stopAndCacheAudioRecording() {
|
|
// CreateGeneratorClosureLongIndex (0x67)
|
|
const obj = callback(tmp);
|
|
const _stopAndCacheAudioRecording = obj;
|
|
return obj(...arguments);
|
|
}
|
|
let closure_3 = importDefault(dependencyMap[0]);
|
|
let closure_4 = importDefault(dependencyMap[1]);
|
|
({ addVoiceMessageWave: closure_5, resetVoiceMessageState: closure_6, setSavedVoiceMessageUploadData: closure_7, setVoiceMessageRecordingId: closure_8, setVoiceMessageRecordingState: closure_9, setVoiceMessageStartTimeMillis: closure_10, useVoiceMessagesUIStore: closure_11, VoiceMessageRecordingStatus: closure_12 } = arg1(dependencyMap[2]));
|
|
const tmp2 = arg1(dependencyMap[2]);
|
|
({ WAVEFORM_WAVE_MAX_VALUE: closure_13, VOICE_RECORDING_MIN_DB: closure_14, VOICE_RECORDING_MAX_DB: closure_15, WAVEFORM_MAX_SAMPLES: closure_16, VOICE_RECORDING_MAX_DURATION_MILLIS: closure_17 } = arg1(dependencyMap[3]));
|
|
const AnalyticEvents = arg1(dependencyMap[4]).AnalyticEvents;
|
|
let closure_19 = null;
|
|
let importDefaultResult = importDefault(dependencyMap[5]);
|
|
importDefaultResult = new importDefaultResult("VoiceMessages");
|
|
const tmp3 = arg1(dependencyMap[3]);
|
|
let closure_21 = importDefault(dependencyMap[8]).throttle((arg0) => {
|
|
const state = store.getState();
|
|
if (null != state.startTimeMillis) {
|
|
callback2(closure_13 * ((arg0 - closure_14) / (closure_15 - closure_14)));
|
|
let tmp8 = null == state.savedVoiceMessageUploadData;
|
|
if (tmp8) {
|
|
const _performance = performance;
|
|
tmp8 = performance.now() - state.startTimeMillis >= closure_17;
|
|
}
|
|
if (tmp8) {
|
|
stopAndCacheAudioRecording();
|
|
}
|
|
}
|
|
}, 100);
|
|
const importDefaultResult1 = importDefault(dependencyMap[8]);
|
|
const result = arg1(dependencyMap[13]).fileFinishedImporting("modules/voice_messages/native/VoiceMessageUtils.tsx");
|
|
|
|
export { generateBase64EncodedWaveform };
|
|
export const startAudioRecording = function startAudioRecording(nowResult) {
|
|
return _startAudioRecording(...arguments);
|
|
};
|
|
export const endAudioRecording = function endAudioRecording() {
|
|
return _endAudioRecording(...arguments);
|
|
};
|
|
export { stopAndCacheAudioRecording };
|
|
export const emitVoiceMessageRecorded = function emitVoiceMessageRecorded(CANCELLED_DURATION, durationSecs, startTimeMillis) {
|
|
if (null != startTimeMillis) {
|
|
let obj = importDefault(dependencyMap[10]);
|
|
obj = { recording_start_timestamp: startTimeMillis };
|
|
const _Date = Date;
|
|
obj.recording_stop_timestamp = Date.now();
|
|
obj.duration_secs = durationSecs;
|
|
obj.result = CANCELLED_DURATION;
|
|
obj.initialize_secs = closure_19;
|
|
obj.track(AnalyticEvents.VOICE_MESSAGE_RECORDED, obj);
|
|
closure_19 = null;
|
|
}
|
|
};
|
|
export const triggerHaptic = function triggerHaptic() {
|
|
const obj = arg1(dependencyMap[11]);
|
|
const obj2 = arg1(dependencyMap[12]);
|
|
const HapticFeedbackTypes = arg1(dependencyMap[11]).HapticFeedbackTypes;
|
|
const result = obj.triggerHapticFeedback(arg1(dependencyMap[12]).isAndroid() ? HapticFeedbackTypes.IMPACT_LIGHT : HapticFeedbackTypes.IMPACT_MEDIUM);
|
|
};
|