feat: Add slashcommand api
This commit is contained in:
@@ -53,6 +53,9 @@
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.metoyou.app;
|
||||
|
||||
import android.Manifest;
|
||||
import android.app.Activity;
|
||||
import android.app.PictureInPictureParams;
|
||||
import android.content.Context;
|
||||
@@ -9,13 +10,57 @@ import android.os.Build;
|
||||
import android.util.Rational;
|
||||
|
||||
import com.getcapacitor.JSObject;
|
||||
import com.getcapacitor.PermissionState;
|
||||
import com.getcapacitor.Plugin;
|
||||
import com.getcapacitor.PluginCall;
|
||||
import com.getcapacitor.PluginMethod;
|
||||
import com.getcapacitor.annotation.CapacitorPlugin;
|
||||
import com.getcapacitor.annotation.Permission;
|
||||
import com.getcapacitor.annotation.PermissionCallback;
|
||||
|
||||
@CapacitorPlugin(name = "MetoyouMobile")
|
||||
@CapacitorPlugin(
|
||||
name = "MetoyouMobile",
|
||||
permissions = {
|
||||
@Permission(
|
||||
strings = { Manifest.permission.RECORD_AUDIO, Manifest.permission.MODIFY_AUDIO_SETTINGS },
|
||||
alias = MetoyouMobilePlugin.MICROPHONE
|
||||
),
|
||||
@Permission(strings = { Manifest.permission.CAMERA }, alias = MetoyouMobilePlugin.CAMERA)
|
||||
}
|
||||
)
|
||||
public class MetoyouMobilePlugin extends Plugin {
|
||||
static final String MICROPHONE = "microphone";
|
||||
static final String CAMERA = "camera";
|
||||
@PluginMethod
|
||||
public void requestVoiceCapturePermissions(PluginCall call) {
|
||||
if (getPermissionState(MICROPHONE) == PermissionState.GRANTED) {
|
||||
resolveCapturePermission(call, MICROPHONE);
|
||||
return;
|
||||
}
|
||||
|
||||
requestPermissionForAlias(MICROPHONE, call, "voiceCapturePermissionsCallback");
|
||||
}
|
||||
|
||||
@PluginMethod
|
||||
public void requestCameraCapturePermissions(PluginCall call) {
|
||||
if (getPermissionState(CAMERA) == PermissionState.GRANTED) {
|
||||
resolveCapturePermission(call, CAMERA);
|
||||
return;
|
||||
}
|
||||
|
||||
requestPermissionForAlias(CAMERA, call, "cameraCapturePermissionsCallback");
|
||||
}
|
||||
|
||||
@PermissionCallback
|
||||
private void voiceCapturePermissionsCallback(PluginCall call) {
|
||||
resolveCapturePermission(call, MICROPHONE);
|
||||
}
|
||||
|
||||
@PermissionCallback
|
||||
private void cameraCapturePermissionsCallback(PluginCall call) {
|
||||
resolveCapturePermission(call, CAMERA);
|
||||
}
|
||||
|
||||
@PluginMethod
|
||||
public void setSpeakerphoneEnabled(PluginCall call) {
|
||||
Boolean enabled = call.getBoolean("enabled", false);
|
||||
@@ -112,4 +157,10 @@ public class MetoyouMobilePlugin extends Plugin {
|
||||
result.put("configured", configured);
|
||||
call.resolve(result);
|
||||
}
|
||||
|
||||
private void resolveCapturePermission(PluginCall call, String alias) {
|
||||
JSObject result = new JSObject();
|
||||
result.put(alias, getPermissionState(alias).toString());
|
||||
call.resolve(result);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user