diff --git a/src/main/java/org/qpython/qsl4a/qsl4a/facade/EyesFreeFacade.java b/src/main/java/org/qpython/qsl4a/qsl4a/facade/EyesFreeFacade.java deleted file mode 100644 index 4436bf513c10ce715e4082465c6cd41a85e818df..0000000000000000000000000000000000000000 --- a/src/main/java/org/qpython/qsl4a/qsl4a/facade/EyesFreeFacade.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (C) 2009 Google Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ - -package org.qpython.qsl4a.qsl4a.facade; - -import android.app.Service; -import android.content.Intent; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; - - -import org.qpython.qsl4a.qsl4a.jsonrpc.RpcReceiver; -import org.qpython.qsl4a.qsl4a.rpc.Rpc; -import org.qpython.qsl4a.qsl4a.rpc.RpcParameter; - -import java.util.List; - -/** - * Provides Text To Speech services for API 3 or less. - */ - -public class EyesFreeFacade extends RpcReceiver { - - private final Service mService; - private final PackageManager mPackageManager; - - public EyesFreeFacade(FacadeManager manager) { - super(manager); - mService = manager.getService(); - mPackageManager = mService.getPackageManager(); - } - - @Rpc(description = "Speaks the provided message via TTS.") - public void ttsSpeak(@RpcParameter(name = "message") String message) { - Intent intent = new Intent("com.google.tts.makeBagel"); - intent.putExtra("message", message); - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - List infos = mPackageManager.queryIntentActivities(intent, 0); - if (infos.size() > 0) { - mService.startActivity(intent); - } else { - throw new RuntimeException("Eyes-Free is not installed."); - } - } - - @Override - public void shutdown() { - } -} diff --git a/src/main/java/org/qpython/qsl4a/qsl4a/facade/FacadeConfiguration.java b/src/main/java/org/qpython/qsl4a/qsl4a/facade/FacadeConfiguration.java index b9bb0bc322424228ac52f18ba4695465c31fbd8e..422414e5a67db3d8b8d00e7c37eabe67923e6106 100644 --- a/src/main/java/org/qpython/qsl4a/qsl4a/facade/FacadeConfiguration.java +++ b/src/main/java/org/qpython/qsl4a/qsl4a/facade/FacadeConfiguration.java @@ -26,6 +26,8 @@ import org.qpython.qsl4a.qsl4a.rpc.RpcMinSdk; import org.qpython.qsl4a.qsl4a.rpc.RpcStartEvent; import org.qpython.qsl4a.qsl4a.rpc.RpcStopEvent; +import org.qpython.qsl4a.qsl4a.facade.usb.USBHostSerialFacade; + import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Collection; @@ -87,24 +89,25 @@ public class FacadeConfiguration { sFacadeClassList.add(QPyInterfaceFacade.class); sFacadeClassList.add(USBHostSerialFacade.class); sFacadeClassList.add(VideoFacade.class); + sFacadeClassList.add(FloatViewFacade.class); - if (sSdkLevel >= 4) { - sFacadeClassList.add(TextToSpeechFacade.class); - } else { - sFacadeClassList.add(EyesFreeFacade.class); - } + //if (sSdkLevel >= 4) { + sFacadeClassList.add(TextToSpeechFacade.class); + //} else { + //sFacadeClassList.add(EyesFreeFacade.class); + //} - if (sSdkLevel >= 5) { + //if (sSdkLevel >= 5) { sFacadeClassList.add(BluetoothFacade.class); - } + //} - if (sSdkLevel >= 7) { + //if (sSdkLevel >= 7) { sFacadeClassList.add(SignalStrengthFacade.class); - } + //} - if (sSdkLevel >= 8) { + //if (sSdkLevel >= 8) { sFacadeClassList.add(WebCamFacade.class); - } + //} for (Class recieverClass : sFacadeClassList) { for (MethodDescriptor rpcMethod : MethodDescriptor.collectFrom(recieverClass)) { diff --git a/src/main/java/org/qpython/qsl4a/qsl4a/facade/FloatViewFacade.java b/src/main/java/org/qpython/qsl4a/qsl4a/facade/FloatViewFacade.java new file mode 100644 index 0000000000000000000000000000000000000000..936a1b6632dda19b015cbe8288a3400e4767309b --- /dev/null +++ b/src/main/java/org/qpython/qsl4a/qsl4a/facade/FloatViewFacade.java @@ -0,0 +1,192 @@ +package org.qpython.qsl4a.qsl4a.facade; + +import android.app.Service; +import android.content.Context; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.os.Handler; +import android.os.Message; +import android.view.WindowManager; +import android.widget.Button; + +import org.json.JSONObject; +import org.qpython.qsl4a.R; +import org.qpython.qsl4a.qsl4a.jsonrpc.RpcReceiver; +import org.qpython.qsl4a.qsl4a.rpc.Rpc; +import org.qpython.qsl4a.qsl4a.rpc.RpcDefault; +import org.qpython.qsl4a.qsl4a.rpc.RpcOptional; +import org.qpython.qsl4a.qsl4a.rpc.RpcParameter; + +import java.util.ArrayList; + +public class FloatViewFacade extends RpcReceiver { + + private final Service mService; + private final PackageManager mPackageManager; + private final AndroidFacade mAndroidFacade; + private final String floatViewActivity = "org.qpython.qpy.main.activity.FloatViewActivity"; + private final String protectActivity = "org.qpython.qpy.main.auxActivity.ProtectActivity"; + private final Context context; + + //按钮数组 + public static final ArrayList