From 2d0fc3dda5b49836b34d9719acbd4d7a0164a458 Mon Sep 17 00:00:00 2001 From: lele <879860859@qq.com> Date: Fri, 2 Jul 2021 03:24:15 +0000 Subject: [PATCH 01/12] commit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 441c3ad..f7371d9 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ - 项目移植状态:完成 - 调用差异:无 - 开发版本:sdk5,DevEco Studio 2.1 Release -- 基线版本:Release v1.6.6 +- 基线版本:Release 1.6.6 #### 效果演示 ![效果演示](https://images.gitee.com/uploads/images/2021/0526/111504_59461e61_7918188.gif "Stom.gif") @@ -155,7 +155,7 @@ CodeCheck代码测试无异常 CloudTest代码测试无异常 -火绒安全病毒安全检测通过 +病毒安全检测通过 当前版本demo功能与原组件基本无差异 -- Gitee From 115bb32c3af4f938de92c94dbf675369edf70b01 Mon Sep 17 00:00:00 2001 From: lele <879860859@qq.com> Date: Mon, 5 Jul 2021 10:51:14 +0000 Subject: [PATCH 02/12] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20.g?= =?UTF-8?q?itignore?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 .gitignore diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 603b140..0000000 --- a/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -*.iml -.gradle -/local.properties -/.idea/caches -/.idea/libraries -/.idea/modules.xml -/.idea/workspace.xml -/.idea/navEditor.xml -/.idea/assetWizardSettings.xml -.DS_Store -/build -/captures -.externalNativeBuild -.cxx -- Gitee From bbb97329097bf1361df54a041005e64f0e13a98d Mon Sep 17 00:00:00 2001 From: lele <879860859@qq.com> Date: Mon, 5 Jul 2021 10:51:25 +0000 Subject: [PATCH 03/12] commit --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 4bb935a..27df859 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'com.huawei.ohos.app' ohos { - compileSdkVersion 5 + compileSdkVersion 6 defaultConfig { compatibleSdkVersion 5 } -- Gitee From b05ffc67cd8d717cb55ab1baca2d1bb73fb81bb7 Mon Sep 17 00:00:00 2001 From: lele <879860859@qq.com> Date: Mon, 5 Jul 2021 10:51:40 +0000 Subject: [PATCH 04/12] commit --- lib/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/build.gradle b/lib/build.gradle index d53b99e..d18c9b8 100644 --- a/lib/build.gradle +++ b/lib/build.gradle @@ -1,6 +1,6 @@ apply plugin: 'com.huawei.ohos.library' ohos { - compileSdkVersion 5 + compileSdkVersion 6 defaultConfig { compatibleSdkVersion 5 } -- Gitee From 8785a02cda59e553746dc0fcb6d1c17d31244ee3 Mon Sep 17 00:00:00 2001 From: lele <879860859@qq.com> Date: Mon, 5 Jul 2021 10:52:00 +0000 Subject: [PATCH 05/12] commit --- entry/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entry/build.gradle b/entry/build.gradle index 5138d84..ac7c019 100644 --- a/entry/build.gradle +++ b/entry/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.huawei.ohos.hap' apply plugin: 'com.huawei.ohos.decctest' ohos { - compileSdkVersion 5 + compileSdkVersion 6 defaultConfig { compatibleSdkVersion 5 } -- Gitee From ad28c83682d8ef23645aabb7cfa929a1a2c1f68e Mon Sep 17 00:00:00 2001 From: lele <879860859@qq.com> Date: Mon, 5 Jul 2021 10:52:46 +0000 Subject: [PATCH 06/12] commit --- entry/src/main/config.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/entry/src/main/config.json b/entry/src/main/config.json index 1c5b134..e4bd922 100644 --- a/entry/src/main/config.json +++ b/entry/src/main/config.json @@ -5,10 +5,6 @@ "version": { "code": 1000000, "name": "1.0" - }, - "apiVersion": { - "compatible": 5, - "target": 5 } }, "deviceConfig": { -- Gitee From 2ee43030bbadda5c82760fbeda7d8cceff78cb39 Mon Sep 17 00:00:00 2001 From: lele <879860859@qq.com> Date: Tue, 6 Jul 2021 10:19:12 +0800 Subject: [PATCH 07/12] commit --- README.md | 10 +- build.gradle | 4 +- entry/entry.iml | 100 ++++++++++++++++++ .../stompclientexample/EchoModel.java | 15 ++- .../stompclientexample/MainAbility.java | 4 + .../stompclientexample/MyApplication.java | 3 + .../stompclientexample/RestClient.java | 2 +- .../stompclientexample/SimpleAdapter.java | 45 ++++++-- .../layout/BaseDirectionalLayout.java | 19 +++- .../stompclientexample/layout/ToastUtil.java | 6 +- .../rxHarmony/OpenHandlerScheduler.java | 52 ++++----- .../rxHarmony/OpenHarmonySchedulers.java | 38 +++---- .../rxHarmony/RxHmOSPlugins.java | 9 +- .../slice/MainAbilitySlice.java | 21 ++++ .../stompclientexample/utils/ToastUtil.java | 22 +++- lib/lib.iml | 88 +++++++++++++++ lib/proguard-rules.pro | 17 --- lib/src/main/config.json | 2 +- .../ua/naiksoftware/stomp/HeartBeatTask.java | 38 +++++-- .../java/ua/naiksoftware/stomp/Stomp.java | 2 +- .../ua/naiksoftware/stomp/StompClient.java | 25 +++-- .../stomp/dto/LifecycleEvent.java | 29 ++++- .../naiksoftware/stomp/dto/StompCommand.java | 2 +- .../naiksoftware/stomp/dto/StompHeader.java | 15 +++ .../naiksoftware/stomp/dto/StompMessage.java | 20 ++++ .../stomp/pathmatcher/SimplePathMatcher.java | 7 +- .../pathmatcher/SubscriptionPathMatcher.java | 13 ++- .../provider/AbstractConnectionProvider.java | 21 ++++ .../provider/OkHttpConnectionProvider.java | 51 +++++---- .../WebSocketsConnectionProvider.java | 71 ++++++++----- .../ua/naiksoftware/test_server/Main.java | 5 +- test_server/test_server.iml | 89 ++++++++++++++++ 32 files changed, 678 insertions(+), 167 deletions(-) create mode 100644 entry/entry.iml create mode 100644 lib/lib.iml delete mode 100644 lib/proguard-rules.pro create mode 100644 test_server/test_server.iml diff --git a/README.md b/README.md index f7371d9..06e0d5f 100644 --- a/README.md +++ b/README.md @@ -6,8 +6,8 @@ - 功能:对STOMP协议支持长连接 收发消息 - 项目移植状态:完成 - 调用差异:无 -- 开发版本:sdk5,DevEco Studio 2.1 Release -- 基线版本:Release 1.6.6 +- 开发版本:sdk6,DevEco Studio 2.2 Beta1 +- 基线版本:Release v1.6.6 #### 效果演示 ![效果演示](https://images.gitee.com/uploads/images/2021/0526/111504_59461e61_7918188.gif "Stom.gif") @@ -33,7 +33,7 @@ allprojects { ...... } ``` -sdk5,DevEco Studio 2.1 Release下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 +在sdk6,DevEco Studio 2.2 Beta1下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 #### 使用说明 @@ -155,11 +155,9 @@ CodeCheck代码测试无异常 CloudTest代码测试无异常 -病毒安全检测通过 +火绒安全病毒安全检测通过 当前版本demo功能与原组件基本无差异 ## 版本迭代 - 0.0.1-SNAPSHOT - - diff --git a/build.gradle b/build.gradle index 27df859..8850c34 100644 --- a/build.gradle +++ b/build.gradle @@ -20,8 +20,8 @@ buildscript { jcenter() } dependencies { - classpath 'com.huawei.ohos:hap:2.4.4.2' - classpath 'com.huawei.ohos:decctest:1.0.0.6' + classpath 'com.huawei.ohos:hap:2.4.5.0' + classpath 'com.huawei.ohos:decctest:1.2.4.1' } } diff --git a/entry/entry.iml b/entry/entry.iml new file mode 100644 index 0000000..9feb5c8 --- /dev/null +++ b/entry/entry.iml @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/entry/src/main/java/ua/naiksoftware/stompclientexample/EchoModel.java b/entry/src/main/java/ua/naiksoftware/stompclientexample/EchoModel.java index b0f24ad..46a1374 100644 --- a/entry/src/main/java/ua/naiksoftware/stompclientexample/EchoModel.java +++ b/entry/src/main/java/ua/naiksoftware/stompclientexample/EchoModel.java @@ -11,16 +11,25 @@ public class EchoModel { /** * 构造函数 - * */ public EchoModel() { } + /** + * getEcho + * + * @return String + */ public String getEcho() { return echo; } - public void setEcho(String echo) { - this.echo = echo; + /** + * setEcho + * + * @param str echo + */ + public void setEcho(String str) { + this.echo = str; } } diff --git a/entry/src/main/java/ua/naiksoftware/stompclientexample/MainAbility.java b/entry/src/main/java/ua/naiksoftware/stompclientexample/MainAbility.java index bbc1a2b..35a86de 100644 --- a/entry/src/main/java/ua/naiksoftware/stompclientexample/MainAbility.java +++ b/entry/src/main/java/ua/naiksoftware/stompclientexample/MainAbility.java @@ -10,6 +10,10 @@ import ua.naiksoftware.stompclientexample.slice.MainAbilitySlice; * @since 2021-04-27 */ public class MainAbility extends Ability { + /** + * onStart + * @param intent intent + */ @Override public void onStart(Intent intent) { super.onStart(intent); diff --git a/entry/src/main/java/ua/naiksoftware/stompclientexample/MyApplication.java b/entry/src/main/java/ua/naiksoftware/stompclientexample/MyApplication.java index 00c107b..eb434e9 100644 --- a/entry/src/main/java/ua/naiksoftware/stompclientexample/MyApplication.java +++ b/entry/src/main/java/ua/naiksoftware/stompclientexample/MyApplication.java @@ -8,6 +8,9 @@ import ohos.aafwk.ability.AbilityPackage; * @since 2021-04-27 */ public class MyApplication extends AbilityPackage { + /** + * onInitialize + */ @Override public void onInitialize() { super.onInitialize(); diff --git a/entry/src/main/java/ua/naiksoftware/stompclientexample/RestClient.java b/entry/src/main/java/ua/naiksoftware/stompclientexample/RestClient.java index 91eec3c..73ce3bd 100644 --- a/entry/src/main/java/ua/naiksoftware/stompclientexample/RestClient.java +++ b/entry/src/main/java/ua/naiksoftware/stompclientexample/RestClient.java @@ -9,7 +9,7 @@ import retrofit2.converter.gson.GsonConverterFactory; * * @since 2021-04-27 */ -public class RestClient { +public final class RestClient { /** * 本机IP地址 测试用 diff --git a/entry/src/main/java/ua/naiksoftware/stompclientexample/SimpleAdapter.java b/entry/src/main/java/ua/naiksoftware/stompclientexample/SimpleAdapter.java index f13f009..23c2094 100644 --- a/entry/src/main/java/ua/naiksoftware/stompclientexample/SimpleAdapter.java +++ b/entry/src/main/java/ua/naiksoftware/stompclientexample/SimpleAdapter.java @@ -1,10 +1,6 @@ package ua.naiksoftware.stompclientexample; -import ohos.agp.components.BaseItemProvider; -import ohos.agp.components.Component; -import ohos.agp.components.ComponentContainer; -import ohos.agp.components.LayoutScatter; -import ohos.agp.components.Text; +import ohos.agp.components.*; import ohos.agp.window.service.Display; import ohos.agp.window.service.DisplayManager; import ohos.app.Context; @@ -18,7 +14,7 @@ import java.util.List; * @since 2021-04-27 */ public class SimpleAdapter extends BaseItemProvider { - private static int num = 25; + private static final int NUM = 25; private List data; private Context mContext; private Display display; @@ -36,11 +32,22 @@ public class SimpleAdapter extends BaseItemProvider { display = DisplayManager.getInstance().getDefaultDisplay(context).get(); } + /** + * getCount + * + * @return int + */ @Override public int getCount() { return data == null ? 0 : data.size(); } + /** + * getItem + * + * @param position position + * @return Object + */ @Override public Object getItem(int position) { if (data != null && position >= 0 && position < data.size()) { @@ -49,11 +56,25 @@ public class SimpleAdapter extends BaseItemProvider { return Collections.emptyList(); } + /** + * getItemId + * + * @param position position + * @return long + */ @Override public long getItemId(int position) { return position; } + /** + * getComponent + * + * @param position position + * @param convertComponent convertComponent + * @param componentContainer componentContainer + * @return Component + */ @Override public Component getComponent(int position, Component convertComponent, ComponentContainer componentContainer) { ViewHolder holder = new ViewHolder(); @@ -66,7 +87,7 @@ public class SimpleAdapter extends BaseItemProvider { } else { holder = (ViewHolder) convertComponent.getTag(); } - holder.title.setHeight(display.getAttributes().height / num); + holder.title.setHeight(display.getAttributes().height / NUM); holder.title.setText(data.get(position)); return convertComponent; } @@ -77,6 +98,14 @@ public class SimpleAdapter extends BaseItemProvider { * @since 2021-04-27 */ private static class ViewHolder { - Text title; + private Text title; + + public Text getTitle() { + return title; + } + + public void setTitle(Text text) { + this.title = text; + } } } diff --git a/entry/src/main/java/ua/naiksoftware/stompclientexample/layout/BaseDirectionalLayout.java b/entry/src/main/java/ua/naiksoftware/stompclientexample/layout/BaseDirectionalLayout.java index a17ba7b..a9ba76f 100644 --- a/entry/src/main/java/ua/naiksoftware/stompclientexample/layout/BaseDirectionalLayout.java +++ b/entry/src/main/java/ua/naiksoftware/stompclientexample/layout/BaseDirectionalLayout.java @@ -77,10 +77,10 @@ public class BaseDirectionalLayout extends ohos.agp.components.DirectionalLayout /** * setEnable * - * @param isEnable isEnable + * @param enable isEnable */ - public void setEnable(boolean isEnable) { - this.isEnable = isEnable; + public void setEnable(boolean enable) { + this.isEnable = enable; } /** @@ -109,6 +109,13 @@ public class BaseDirectionalLayout extends ohos.agp.components.DirectionalLayout } + /** + * onTouchEvent + * + * @param component component + * @param touchEvent touchEvent + * @return + */ @Override public boolean onTouchEvent(Component component, TouchEvent touchEvent) { int action = touchEvent.getAction(); @@ -144,7 +151,11 @@ public class BaseDirectionalLayout extends ohos.agp.components.DirectionalLayout return true; } - + /** + * onLongClicked + * + * @param component component + */ @Override public void onLongClicked(Component component) { isLongClick = true; diff --git a/entry/src/main/java/ua/naiksoftware/stompclientexample/layout/ToastUtil.java b/entry/src/main/java/ua/naiksoftware/stompclientexample/layout/ToastUtil.java index fe1ecee..1859034 100644 --- a/entry/src/main/java/ua/naiksoftware/stompclientexample/layout/ToastUtil.java +++ b/entry/src/main/java/ua/naiksoftware/stompclientexample/layout/ToastUtil.java @@ -32,10 +32,10 @@ public class ToastUtil { /** * Toast构造器 * - * @param context + * @param cot cot */ - public ToastUtil(Context context) { - this.context = context; + public ToastUtil(Context cot) { + this.context = cot; } /** diff --git a/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/OpenHandlerScheduler.java b/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/OpenHandlerScheduler.java index 22b7918..d0c4c08 100644 --- a/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/OpenHandlerScheduler.java +++ b/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/OpenHandlerScheduler.java @@ -28,8 +28,8 @@ final class OpenHandlerScheduler extends Scheduler { private final EventHandler handler; private volatile boolean isDisposed; - HandlerWorker(EventHandler handler) { - this.handler = handler; + HandlerWorker(EventHandler eventHandler) { + this.handler = eventHandler; } @Override @@ -84,9 +84,31 @@ final class OpenHandlerScheduler extends Scheduler { private volatile boolean isDisposed; - ScheduledRunnable(EventHandler handler, Runnable delegate) { - this.handler = handler; - this.delegate = delegate; + OpenHandlerScheduler(EventHandler eventHandler) { + this.handler = eventHandler; + } + + @Override + public Disposable scheduleDirect(Runnable run, long delay, TimeUnit unit) { + if (run == null) { + throw new NullPointerException("run == null"); + } + if (unit == null) { + throw new NullPointerException("unit == null"); + } + ScheduledRunnable scheduled = new ScheduledRunnable(handler, RxJavaPlugins.onSchedule(run)); + handler.postTask(scheduled, unit.toMillis(delay)); + return scheduled; + } + + @Override + public Worker createWorker() { + return new HandlerWorker(handler); + } + + ScheduledRunnable(EventHandler eventHandler, Runnable runnable) { + this.handler = eventHandler; + this.delegate = runnable; } @Override @@ -106,25 +128,5 @@ final class OpenHandlerScheduler extends Scheduler { } } - OpenHandlerScheduler(EventHandler handler) { - this.handler = handler; - } - @Override - public Disposable scheduleDirect(Runnable run, long delay, TimeUnit unit) { - if (run == null) { - throw new NullPointerException("run == null"); - } - if (unit == null) { - throw new NullPointerException("unit == null"); - } - ScheduledRunnable scheduled = new ScheduledRunnable(handler, RxJavaPlugins.onSchedule(run)); - handler.postTask(scheduled, unit.toMillis(delay)); - return scheduled; - } - - @Override - public Worker createWorker() { - return new HandlerWorker(handler); - } } diff --git a/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/OpenHarmonySchedulers.java b/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/OpenHarmonySchedulers.java index 68f4cba..3d6c0cd 100644 --- a/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/OpenHarmonySchedulers.java +++ b/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/OpenHarmonySchedulers.java @@ -7,7 +7,6 @@ import ohos.hiviewdfx.HiLog; import ohos.hiviewdfx.HiLogLabel; - /** * HmOs-specific Schedulers. * @@ -16,25 +15,9 @@ import ohos.hiviewdfx.HiLogLabel; public final class OpenHarmonySchedulers { private static final HiLogLabel LABEL = new HiLogLabel(0, 0, "HarmonySchedulers"); - /** - * MainHolder - * - * @since 2021-03-29 - */ - private static final class MainHolder { - static final Scheduler DEFAULT = new OpenHandlerScheduler(new EventHandler(EventRunner.getMainEventRunner())); - } - private static final Scheduler MAIN_THREAD = RxHmOSPlugins.initMainThreadScheduler( () -> MainHolder.DEFAULT); - /** - * 构造函数 - */ - private OpenHarmonySchedulers() { - throw new AssertionError("No instances."); - } - /** * 主线程 * * @@ -45,6 +28,14 @@ public final class OpenHarmonySchedulers { return RxHmOSPlugins.onMainThreadScheduler(MAIN_THREAD); } + /** + * 构造函数 + */ + private OpenHarmonySchedulers() { + throw new AssertionError("No instances."); + } + + /** * from 根据 eventRunner 返回 Scheduler * @@ -53,11 +44,22 @@ public final class OpenHarmonySchedulers { */ public static Scheduler from(EventRunner eventRunner) { if (eventRunner == null) { - HiLog.debug(LABEL,"eventRunner == null"); + HiLog.debug(LABEL, "eventRunner == null"); return null; } else { return new OpenHandlerScheduler(new EventHandler(eventRunner)); } } + + /** + * MainHolder + * + * @since 2021-03-29 + */ + private static final class MainHolder { + static final Scheduler DEFAULT = new OpenHandlerScheduler(new EventHandler(EventRunner.getMainEventRunner())); + } + + } diff --git a/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/RxHmOSPlugins.java b/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/RxHmOSPlugins.java index 842082d..9e67756 100644 --- a/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/RxHmOSPlugins.java +++ b/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/RxHmOSPlugins.java @@ -6,13 +6,16 @@ import io.reactivex.functions.Function; import java.util.concurrent.Callable; -public class RxHmOSPlugins { +public final class RxHmOSPlugins { + private static volatile Function, Scheduler> onInitMainThreadHandler; private static volatile Function onMainThreadHandler; + private RxHmOSPlugins() { throw new AssertionError("No instances."); } + public static void setInitMainThreadSchedulerHandler(Function, Scheduler> handler) { onInitMainThreadHandler = handler; } @@ -57,6 +60,7 @@ public class RxHmOSPlugins { /** * Returns the current hook function. + * * @return the hook function, may be null */ public static Function, Scheduler> getInitMainThreadSchedulerHandler() { @@ -65,6 +69,7 @@ public class RxHmOSPlugins { /** * Returns the current hook function. + * * @return the hook function, may be null */ public static Function getOnMainThreadSchedulerHandler() { @@ -92,7 +97,7 @@ public class RxHmOSPlugins { } static Scheduler applyRequireNonNull(Function, Scheduler> f, Callable s) { - Scheduler scheduler = apply(f,s); + Scheduler scheduler = apply(f, s); if (scheduler == null) { throw new NullPointerException("Scheduler Callable returned null"); } diff --git a/entry/src/main/java/ua/naiksoftware/stompclientexample/slice/MainAbilitySlice.java b/entry/src/main/java/ua/naiksoftware/stompclientexample/slice/MainAbilitySlice.java index 3d4c9bb..947fd46 100644 --- a/entry/src/main/java/ua/naiksoftware/stompclientexample/slice/MainAbilitySlice.java +++ b/entry/src/main/java/ua/naiksoftware/stompclientexample/slice/MainAbilitySlice.java @@ -66,6 +66,11 @@ public class MainAbilitySlice extends AbilitySlice implements Component.ClickedL private CompositeDisposable compositeDisposable; private Display display; + /** + * onStart + * + * @param intent intent + */ @Override public void onStart(Intent intent) { super.onStart(intent); @@ -100,6 +105,11 @@ public class MainAbilitySlice extends AbilitySlice implements Component.ClickedL compositeDisposable = new CompositeDisposable(); } + /** + * Component + * + * @param component component + */ @Override public void onClick(Component component) { switch (component.getId()) { @@ -120,11 +130,19 @@ public class MainAbilitySlice extends AbilitySlice implements Component.ClickedL } } + /** + * onActive + */ @Override public void onActive() { super.onActive(); } + /** + * onForeground + * + * @param intent intent + */ @Override public void onForeground(Intent intent) { super.onForeground(intent); @@ -275,6 +293,9 @@ public class MainAbilitySlice extends AbilitySlice implements Component.ClickedL .observeOn(OpenHarmonySchedulers.mainThread()); } + /** + * onStop + */ @Override protected void onStop() { mStompClient.disconnect(); diff --git a/entry/src/main/java/ua/naiksoftware/stompclientexample/utils/ToastUtil.java b/entry/src/main/java/ua/naiksoftware/stompclientexample/utils/ToastUtil.java index 01bf105..b109f54 100644 --- a/entry/src/main/java/ua/naiksoftware/stompclientexample/utils/ToastUtil.java +++ b/entry/src/main/java/ua/naiksoftware/stompclientexample/utils/ToastUtil.java @@ -1,3 +1,17 @@ +/* + * Copyright (C) 2021 Huawei Device Co., Ltd. + * 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 ua.naiksoftware.stompclientexample.utils; import ohos.agp.components.Component; @@ -18,15 +32,15 @@ import ua.naiksoftware.stompclientexample.ResourceTable; public class ToastUtil { private static final int NUM_5000 = 5000; private static final int NUM_58 = 58; - Context context; + private Context context; /** * 构造 ToastUtil * - * @param context + * @param cot */ - public ToastUtil(Context context) { - this.context = context; + public ToastUtil(Context cot) { + this.context = cot; } /** diff --git a/lib/lib.iml b/lib/lib.iml new file mode 100644 index 0000000..ef910df --- /dev/null +++ b/lib/lib.iml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/proguard-rules.pro b/lib/proguard-rules.pro deleted file mode 100644 index c96428f..0000000 --- a/lib/proguard-rules.pro +++ /dev/null @@ -1,17 +0,0 @@ -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in /home/naik/Programs/android-sdk-linux/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the proguardFiles -# directive in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} diff --git a/lib/src/main/config.json b/lib/src/main/config.json index ff6d779..208ec5d 100644 --- a/lib/src/main/config.json +++ b/lib/src/main/config.json @@ -3,7 +3,7 @@ "bundleName": "ua.naiksoftware.stompclientexample", "vendor": "naiksoftware", "version": { - "code": 1000000, + "code": 1, "name": "1.0" }, "apiVersion": { diff --git a/lib/src/main/java/ua/naiksoftware/stomp/HeartBeatTask.java b/lib/src/main/java/ua/naiksoftware/stomp/HeartBeatTask.java index 3fd6b03..4640dcb 100644 --- a/lib/src/main/java/ua/naiksoftware/stomp/HeartBeatTask.java +++ b/lib/src/main/java/ua/naiksoftware/stomp/HeartBeatTask.java @@ -43,26 +43,46 @@ public class HeartBeatTask { * 构造函数 * * * - * @param sendCallback - * @param failedListener + * @param callback + * @param listener */ - public HeartBeatTask(SendCallback sendCallback, @Nullable FailedListener failedListener) { - this.failedListener = failedListener; - this.sendCallback = sendCallback; + public HeartBeatTask(SendCallback callback, @Nullable FailedListener listener) { + this.failedListener = listener; + this.sendCallback = callback; } - public void setServerHeartbeat(int serverHeartbeat) { - this.serverHeartbeatNew = serverHeartbeat; + /** + * setServerHeartbeat + * + * @param heart serverHeartbeat + */ + public void setServerHeartbeat(int heart) { + this.serverHeartbeatNew = heart; } - public void setClientHeartbeat(int clientHeartbeat) { - this.clientHeartbeatNew = clientHeartbeat; + /** + * setClientHeartbeat + * + * @param heart clientHeartbeat + */ + public void setClientHeartbeat(int heart) { + this.clientHeartbeatNew = heart; } + /** + * getServerHeartbeat + * + * @return getServerHeartbeat + */ public int getServerHeartbeat() { return serverHeartbeatNew; } + /** + * getClientHeartbeat + * + * @return int + */ public int getClientHeartbeat() { return clientHeartbeatNew; } diff --git a/lib/src/main/java/ua/naiksoftware/stomp/Stomp.java b/lib/src/main/java/ua/naiksoftware/stomp/Stomp.java index b1d2823..4961e7e 100644 --- a/lib/src/main/java/ua/naiksoftware/stomp/Stomp.java +++ b/lib/src/main/java/ua/naiksoftware/stomp/Stomp.java @@ -21,7 +21,7 @@ import java.util.Map; * * @since 2021-04-27 */ -public class Stomp { +public final class Stomp { private Stomp() { } diff --git a/lib/src/main/java/ua/naiksoftware/stomp/StompClient.java b/lib/src/main/java/ua/naiksoftware/stomp/StompClient.java index 3b3877b..c0db92d 100644 --- a/lib/src/main/java/ua/naiksoftware/stomp/StompClient.java +++ b/lib/src/main/java/ua/naiksoftware/stomp/StompClient.java @@ -60,10 +60,10 @@ public class StompClient { * 构造函数 * * * - * @param connectionProvider + * @param provider */ - public StompClient(ConnectionProvider connectionProvider) { - this.connectionProvider = connectionProvider; + public StompClient(ConnectionProvider provider) { + this.connectionProvider = provider; streamMap = new ConcurrentHashMap<>(); lifecyclePublishSubject = PublishSubject.create(); pathMatcher = new SimplePathMatcher(); @@ -233,7 +233,7 @@ public class StompClient { * * @return Flowable */ - public Flowable lifecycle() { + public Flowable lifecycle() { return lifecyclePublishSubject.toFlowable(BackpressureStrategy.BUFFER); } @@ -374,12 +374,17 @@ public class StompClient { * topic subscription allows for RMQ-style wildcards. *

* - * @param pathMatcher Set to {@link SimplePathMatcher} by default + * @param matcher Set to {@link SimplePathMatcher} by default */ - public void setPathMatcher(PathMatcher pathMatcher) { - this.pathMatcher = pathMatcher; + public void setPathMatcher(PathMatcher matcher) { + this.pathMatcher = matcher; } + /** + * isConnected + * + * @return boolean + */ public boolean isConnected() { return getConnectionStream().getValue(); } @@ -392,11 +397,11 @@ public class StompClient { *

* Default: Body^@ * - * @param legacyWhitespace whether to append an extra two newlines + * @param ble whether to append an extra two newlines * @see The STOMP spec */ - public void setLegacyWhitespace(boolean legacyWhitespace) { - this.legacyWhitespace = legacyWhitespace; + public void setLegacyWhitespace(boolean ble) { + this.legacyWhitespace = ble; } /** diff --git a/lib/src/main/java/ua/naiksoftware/stomp/dto/LifecycleEvent.java b/lib/src/main/java/ua/naiksoftware/stomp/dto/LifecycleEvent.java index a6096c6..6c88696 100644 --- a/lib/src/main/java/ua/naiksoftware/stomp/dto/LifecycleEvent.java +++ b/lib/src/main/java/ua/naiksoftware/stomp/dto/LifecycleEvent.java @@ -66,22 +66,47 @@ public class LifecycleEvent { mMessage = message; } + /** + * getType + * + * @return Type + */ public Type getType() { return mType; } + /** + * getException + * + * @return Exception + */ public Exception getException() { return mException; } + /** + * getMessage + * + * @return String + */ public String getMessage() { return mMessage; } - public void setHandshakeResponseHeaders(TreeMap handshakeResponseHeaders) { - this.handshakeResponseHeaders = handshakeResponseHeaders; + /** + * setHandshakeResponseHeaders + * + * @param map setHandshakeResponseHeaders + */ + public void setHandshakeResponseHeaders(TreeMap map) { + this.handshakeResponseHeaders = map; } + /** + * getHandshakeResponseHeaders + * + * @return TreeMap + */ public TreeMap getHandshakeResponseHeaders() { return handshakeResponseHeaders; } diff --git a/lib/src/main/java/ua/naiksoftware/stomp/dto/StompCommand.java b/lib/src/main/java/ua/naiksoftware/stomp/dto/StompCommand.java index 69e7812..6836e28 100644 --- a/lib/src/main/java/ua/naiksoftware/stomp/dto/StompCommand.java +++ b/lib/src/main/java/ua/naiksoftware/stomp/dto/StompCommand.java @@ -5,7 +5,7 @@ package ua.naiksoftware.stomp.dto; * * @since 2021-04-27 */ -public class StompCommand { +public final class StompCommand { /** * CONNECT diff --git a/lib/src/main/java/ua/naiksoftware/stomp/dto/StompHeader.java b/lib/src/main/java/ua/naiksoftware/stomp/dto/StompHeader.java index 8bfdcd8..d41f5a2 100644 --- a/lib/src/main/java/ua/naiksoftware/stomp/dto/StompHeader.java +++ b/lib/src/main/java/ua/naiksoftware/stomp/dto/StompHeader.java @@ -53,14 +53,29 @@ public class StompHeader { mValue = value; } + /** + * getKey + * + * @return String + */ public String getKey() { return mKey; } + /** + * getValue + * + * @return String + */ public String getValue() { return mValue; } + /** + * toString + * + * @return toString + */ @Override public String toString() { return "StompHeader{" + mKey + '=' + mValue + '}'; diff --git a/lib/src/main/java/ua/naiksoftware/stomp/dto/StompMessage.java b/lib/src/main/java/ua/naiksoftware/stomp/dto/StompMessage.java index 8a31224..2981745 100644 --- a/lib/src/main/java/ua/naiksoftware/stomp/dto/StompMessage.java +++ b/lib/src/main/java/ua/naiksoftware/stomp/dto/StompMessage.java @@ -42,14 +42,29 @@ public class StompMessage { mPayload = payload; } + /** + * getStompHeaders + * + * @return List + */ public List getStompHeaders() { return mStompHeaders; } + /** + * getPayload + * + * @return String + */ public String getPayload() { return mPayload; } + /** + * getStompCommand + * + * @return String + */ public String getStompCommand() { return mStompCommand; } @@ -134,6 +149,11 @@ public class StompMessage { return new StompMessage(command, headers, payload); } + /** + * toString + * + * @return toString + */ @Override public String toString() { return "StompMessage{" + "command='" + mStompCommand + '\'' + ", headers=" diff --git a/lib/src/main/java/ua/naiksoftware/stomp/pathmatcher/SimplePathMatcher.java b/lib/src/main/java/ua/naiksoftware/stomp/pathmatcher/SimplePathMatcher.java index 2c41911..b0e557f 100644 --- a/lib/src/main/java/ua/naiksoftware/stomp/pathmatcher/SimplePathMatcher.java +++ b/lib/src/main/java/ua/naiksoftware/stomp/pathmatcher/SimplePathMatcher.java @@ -9,7 +9,12 @@ import ua.naiksoftware.stomp.dto.StompMessage; * @since 2021-04-27 */ public class SimplePathMatcher implements PathMatcher { - + /** + * matches + * @param path path + * @param msg msg + * @return boolean + */ @Override public boolean matches(String path, StompMessage msg) { String dest = msg.findHeader(StompHeader.DESTINATION); diff --git a/lib/src/main/java/ua/naiksoftware/stomp/pathmatcher/SubscriptionPathMatcher.java b/lib/src/main/java/ua/naiksoftware/stomp/pathmatcher/SubscriptionPathMatcher.java index 648b8fc..26e101b 100644 --- a/lib/src/main/java/ua/naiksoftware/stomp/pathmatcher/SubscriptionPathMatcher.java +++ b/lib/src/main/java/ua/naiksoftware/stomp/pathmatcher/SubscriptionPathMatcher.java @@ -15,12 +15,19 @@ public class SubscriptionPathMatcher implements PathMatcher { /** * SubscriptionPathMatcher * - * @param stompClient + * @param client */ - public SubscriptionPathMatcher(StompClient stompClient) { - this.stompClient = stompClient; + public SubscriptionPathMatcher(StompClient client) { + this.stompClient = client; } + /** + * matches + * + * @param path path + * @param msg msg + * @return boolean + */ @Override public boolean matches(String path, StompMessage msg) { /** diff --git a/lib/src/main/java/ua/naiksoftware/stomp/provider/AbstractConnectionProvider.java b/lib/src/main/java/ua/naiksoftware/stomp/provider/AbstractConnectionProvider.java index 03e850c..44f59f2 100644 --- a/lib/src/main/java/ua/naiksoftware/stomp/provider/AbstractConnectionProvider.java +++ b/lib/src/main/java/ua/naiksoftware/stomp/provider/AbstractConnectionProvider.java @@ -36,6 +36,11 @@ public abstract class AbstractConnectionProvider implements ConnectionProvider { messagesStream = PublishSubject.create(); } + /** + * messages + * + * @return Observable + */ @NonNull @Override public Observable messages() { @@ -52,6 +57,11 @@ public abstract class AbstractConnectionProvider implements ConnectionProvider { */ protected abstract void rawDisconnect(); + /** + * disconnect + * + * @return Completable + */ @Override public Completable disconnect() { return Completable @@ -70,6 +80,12 @@ public abstract class AbstractConnectionProvider implements ConnectionProvider { */ protected abstract void createWebSocketConnection(); + /** + * send + * + * @param stompMessage stompMessage stompMessage + * @return Completable + */ @NonNull @Override public Completable send(String stompMessage) { @@ -124,6 +140,11 @@ public abstract class AbstractConnectionProvider implements ConnectionProvider { messagesStream.onNext(stompMessage); } + /** + * lifecycle + * + * @return Observable + */ @NonNull @Override public Observable lifecycle() { diff --git a/lib/src/main/java/ua/naiksoftware/stomp/provider/OkHttpConnectionProvider.java b/lib/src/main/java/ua/naiksoftware/stomp/provider/OkHttpConnectionProvider.java index 91d37f6..60a74a1 100644 --- a/lib/src/main/java/ua/naiksoftware/stomp/provider/OkHttpConnectionProvider.java +++ b/lib/src/main/java/ua/naiksoftware/stomp/provider/OkHttpConnectionProvider.java @@ -50,6 +50,9 @@ public class OkHttpConnectionProvider extends AbstractConnectionProvider { mOkHttpClient = okHttpClient; } + /** + * rawDisconnect + */ @Override public void rawDisconnect() { if (openSocket != null) { @@ -57,6 +60,9 @@ public class OkHttpConnectionProvider extends AbstractConnectionProvider { } } + /** + * createWebSocketConnection + */ @Override protected void createWebSocketConnection() { Request.Builder requestBuilder = new Request.Builder() @@ -68,39 +74,24 @@ public class OkHttpConnectionProvider extends AbstractConnectionProvider { new WebSocketListener() { @Override public void onOpen(WebSocket webSocket, @NonNull Response response) { - LifecycleEvent openEvent = new LifecycleEvent(LifecycleEvent.Type.OPENED); - - TreeMap headersAsMap = headersAsMap(response); - - openEvent.setHandshakeResponseHeaders(headersAsMap); - emitLifecycleEvent(openEvent); + open(response); } - @Override public void onMessage(WebSocket webSocket, String text) { emitMessage(text); } - @Override public void onMessage(WebSocket webSocket, @NonNull ByteString bytes) { emitMessage(bytes.utf8()); } - @Override public void onClosed(WebSocket webSocket, int code, String reason) { - openSocket = null; - emitLifecycleEvent(new LifecycleEvent(LifecycleEvent.Type.CLOSED)); + closed(); } - @Override public void onFailure(WebSocket webSocket, Throwable t, Response response) { - String message = t.getMessage(); - debug(message); - emitLifecycleEvent(new LifecycleEvent(LifecycleEvent.Type.ERROR, new Exception(t))); - openSocket = null; - emitLifecycleEvent(new LifecycleEvent(LifecycleEvent.Type.CLOSED)); + failure(t); } - @Override public void onClosing(final WebSocket webSocket, final int code, final String reason) { webSocket.close(code, reason); @@ -110,6 +101,30 @@ public class OkHttpConnectionProvider extends AbstractConnectionProvider { ); } + private void closed() { + openSocket = null; + emitLifecycleEvent(new LifecycleEvent(LifecycleEvent.Type.CLOSED)); + } + + private void failure(Throwable t) { + + String message = t.getMessage(); + debug(message); + emitLifecycleEvent(new LifecycleEvent(LifecycleEvent.Type.ERROR, new Exception(t))); + openSocket = null; + emitLifecycleEvent(new LifecycleEvent(LifecycleEvent.Type.CLOSED)); + } + + private void open(Response response) { + + LifecycleEvent openEvent = new LifecycleEvent(LifecycleEvent.Type.OPENED); + + TreeMap headersAsMap = headersAsMap(response); + + openEvent.setHandshakeResponseHeaders(headersAsMap); + emitLifecycleEvent(openEvent); + } + /** * rawSend * diff --git a/lib/src/main/java/ua/naiksoftware/stomp/provider/WebSocketsConnectionProvider.java b/lib/src/main/java/ua/naiksoftware/stomp/provider/WebSocketsConnectionProvider.java index c5c5c57..932452b 100644 --- a/lib/src/main/java/ua/naiksoftware/stomp/provider/WebSocketsConnectionProvider.java +++ b/lib/src/main/java/ua/naiksoftware/stomp/provider/WebSocketsConnectionProvider.java @@ -43,13 +43,16 @@ public class WebSocketsConnectionProvider extends AbstractConnectionProvider { * Support UIR scheme ws://host:port/path * * @param connectHttpHeaders may be null - * @param uri uri + * @param uri uri */ public WebSocketsConnectionProvider(String uri, @Nullable Map connectHttpHeaders) { mUri = uri; mConnectHttpHeaders = connectHttpHeaders != null ? connectHttpHeaders : new HashMap<>(); } + /** + * rawDisconnect + */ @Override public void rawDisconnect() { try { @@ -70,46 +73,26 @@ public class WebSocketsConnectionProvider extends AbstractConnectionProvider { } mWebSocketClient = new WebSocketClient(URI.create(mUri), new Draft_6455(), mConnectHttpHeaders, 0) { @Override - public void onWebsocketHandshakeReceivedAsClient(WebSocket conn, ClientHandshake request, @NonNull ServerHandshake response) throws InvalidDataException { - HiLog.error(LABEL, "onWebsocketHandshakeReceivedAsClient with response: " + response.getHttpStatus() + " " + response.getHttpStatusMessage()); - mServerHandshakeHeaders = new TreeMap<>(); - Iterator keys = response.iterateHttpFields(); - while (keys.hasNext()) { - String key = keys.next(); - mServerHandshakeHeaders.put(key, response.getFieldValue(key)); - } - } - + public void onWebsocketHandshakeReceivedAsClient(WebSocket conn, ClientHandshake request, @NonNull ServerHandshake response) throws InvalidDataException { webtodo(response); } @Override public void onOpen(@NonNull ServerHandshake handshakeData) { - HiLog.error(LABEL, "onOpen with handshakeData: " + handshakeData.getHttpStatus() + " " + handshakeData.getHttpStatusMessage()); - LifecycleEvent openEvent = new LifecycleEvent(LifecycleEvent.Type.OPENED); - openEvent.setHandshakeResponseHeaders(mServerHandshakeHeaders); - emitLifecycleEvent(openEvent); + open(handshakeData); } - @Override public void onMessage(String message) { - HiLog.error(LABEL, "onMessage: " + message); emitMessage(message); } - @Override public void onClose(int code, String reason, boolean remote) { - HiLog.error(LABEL, "onClose: code=" + code + " reason=" + reason + " remote=" + remote); - isisHaveConnection = false; - emitLifecycleEvent(new LifecycleEvent(LifecycleEvent.Type.CLOSED)); - - HiLog.error(LABEL, "Disconnect after close."); - disconnect(); + closeAny(code, reason, remote); } - @Override public void onError(Exception ex) { - HiLog.error(LABEL, ex.toString()); emitLifecycleEvent(new LifecycleEvent(LifecycleEvent.Type.ERROR, ex)); } }; + + if (mUri.startsWith("wss")) { try { SSLContext sc = SSLContext.getInstance("TLS"); @@ -118,18 +101,52 @@ public class WebSocketsConnectionProvider extends AbstractConnectionProvider { mWebSocketClient.setSocket(factory.createSocket()); } catch (Exception e) { String message = e.getMessage(); - HiLog.error(LABEL,message); + HiLog.error(LABEL, message); } } mWebSocketClient.connect(); isisHaveConnection = true; } + private void closeAny(int code, String reason, boolean remote) { + HiLog.error(LABEL, "onClose: code=" + code + " reason=" + reason + " remote=" + remote); + isisHaveConnection = false; + emitLifecycleEvent(new LifecycleEvent(LifecycleEvent.Type.CLOSED)); + + HiLog.error(LABEL, "Disconnect after close."); + disconnect(); + } + + private void open(ServerHandshake handshakeData) { + LifecycleEvent openEvent = new LifecycleEvent(LifecycleEvent.Type.OPENED); + openEvent.setHandshakeResponseHeaders(mServerHandshakeHeaders); + emitLifecycleEvent(openEvent); + } + + private void webtodo(ServerHandshake response) { + mServerHandshakeHeaders = new TreeMap<>(); + Iterator keys = response.iterateHttpFields(); + while (keys.hasNext()) { + String key = keys.next(); + mServerHandshakeHeaders.put(key, response.getFieldValue(key)); + } + } + + /** + * rawSend + * + * @param stompMessage message to send + */ @Override protected void rawSend(String stompMessage) { mWebSocketClient.send(stompMessage); } + /** + * getSocket + * + * @return Object + */ @Override protected Object getSocket() { return mWebSocketClient; diff --git a/test_server/src/main/groovy/ua/naiksoftware/test_server/Main.java b/test_server/src/main/groovy/ua/naiksoftware/test_server/Main.java index e9a284b..b432828 100644 --- a/test_server/src/main/groovy/ua/naiksoftware/test_server/Main.java +++ b/test_server/src/main/groovy/ua/naiksoftware/test_server/Main.java @@ -4,7 +4,10 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication -class Main { +final class Main { + private Main() { + + } static void main(String[] args) { SpringApplication.run(Main.class, args); } diff --git a/test_server/test_server.iml b/test_server/test_server.iml new file mode 100644 index 0000000..73c63ac --- /dev/null +++ b/test_server/test_server.iml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file -- Gitee From 9becdccd55b3a0a6d3497943cef93c9fd81beb9b Mon Sep 17 00:00:00 2001 From: lele <879860859@qq.com> Date: Tue, 6 Jul 2021 02:26:32 +0000 Subject: [PATCH 08/12] commit --- .../main/java/ua/naiksoftware/stomp/dto/StompCommand.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/src/main/java/ua/naiksoftware/stomp/dto/StompCommand.java b/lib/src/main/java/ua/naiksoftware/stomp/dto/StompCommand.java index 6836e28..7333397 100644 --- a/lib/src/main/java/ua/naiksoftware/stomp/dto/StompCommand.java +++ b/lib/src/main/java/ua/naiksoftware/stomp/dto/StompCommand.java @@ -11,26 +11,32 @@ public final class StompCommand { * CONNECT */ public static final String CONNECT = "CONNECT"; + /** * CONNECTED */ public static final String CONNECTED = "CONNECTED"; + /** * SEND */ public static final String SEND = "SEND"; + /** * MESSAGE */ public static final String MESSAGE = "MESSAGE"; + /** * SUBSCRIBE */ public static final String SUBSCRIBE = "SUBSCRIBE"; + /** * UNSUBSCRIBE */ public static final String UNSUBSCRIBE = "UNSUBSCRIBE"; + /** * UNKNOWN */ -- Gitee From 79f1fceb1cd17ea3683efd9d02294b83cd7099cb Mon Sep 17 00:00:00 2001 From: lele <879860859@qq.com> Date: Tue, 6 Jul 2021 02:32:14 +0000 Subject: [PATCH 09/12] commit --- .../rxHarmony/RxHmOSPlugins.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/RxHmOSPlugins.java b/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/RxHmOSPlugins.java index 9e67756..0919474 100644 --- a/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/RxHmOSPlugins.java +++ b/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/RxHmOSPlugins.java @@ -30,11 +30,11 @@ public final class RxHmOSPlugins { if (scheduler == null) { throw new NullPointerException("scheduler == null"); } - Function, Scheduler> f = onInitMainThreadHandler; - if (f == null) { + Function, Scheduler> function = onInitMainThreadHandler; + if (function == null) { return callRequireNonNull(scheduler); } - return applyRequireNonNull(f, scheduler); + return applyRequireNonNull(function, scheduler); } public static void setMainThreadSchedulerHandler(Function handler) { @@ -46,16 +46,17 @@ public final class RxHmOSPlugins { * * @param scheduler * @return Scheduler + * @throws NullPointerException scheduler == null */ public static Scheduler onMainThreadScheduler(Scheduler scheduler) { if (scheduler == null) { throw new NullPointerException("scheduler == null"); } - Function f = onMainThreadHandler; - if (f == null) { + Function function = onMainThreadHandler; + if (function == null) { return scheduler; } - return apply(f, scheduler); + return apply(function, scheduler); } /** @@ -111,6 +112,4 @@ public final class RxHmOSPlugins { throw Exceptions.propagate(ex); } } - - } -- Gitee From 52fdcba56b8251806d3549e367a7fb61db5a21d8 Mon Sep 17 00:00:00 2001 From: lele <879860859@qq.com> Date: Tue, 6 Jul 2021 02:40:29 +0000 Subject: [PATCH 10/12] commit --- .../rxHarmony/OpenHarmonySchedulers.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/OpenHarmonySchedulers.java b/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/OpenHarmonySchedulers.java index 3d6c0cd..134c39b 100644 --- a/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/OpenHarmonySchedulers.java +++ b/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/OpenHarmonySchedulers.java @@ -18,6 +18,13 @@ public final class OpenHarmonySchedulers { private static final Scheduler MAIN_THREAD = RxHmOSPlugins.initMainThreadScheduler( () -> MainHolder.DEFAULT); + /** + * 构造函数 + */ + private OpenHarmonySchedulers() { + throw new AssertionError("No instances."); + } + /** * 主线程 * * @@ -28,13 +35,6 @@ public final class OpenHarmonySchedulers { return RxHmOSPlugins.onMainThreadScheduler(MAIN_THREAD); } - /** - * 构造函数 - */ - private OpenHarmonySchedulers() { - throw new AssertionError("No instances."); - } - /** * from 根据 eventRunner 返回 Scheduler -- Gitee From 25e230fbce19e0099a2968cde8d507b91e4d4b60 Mon Sep 17 00:00:00 2001 From: lele <879860859@qq.com> Date: Tue, 6 Jul 2021 02:58:22 +0000 Subject: [PATCH 11/12] commit --- .../rxHarmony/OpenHandlerScheduler.java | 45 +++++++++---------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/OpenHandlerScheduler.java b/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/OpenHandlerScheduler.java index d0c4c08..06e5414 100644 --- a/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/OpenHandlerScheduler.java +++ b/entry/src/main/java/ua/naiksoftware/stompclientexample/rxHarmony/OpenHandlerScheduler.java @@ -73,6 +73,24 @@ final class OpenHandlerScheduler extends Scheduler { } } + @Override + public Disposable scheduleDirect(Runnable run, long delay, TimeUnit unit) { + if (run == null) { + throw new NullPointerException("run == null"); + } + if (unit == null) { + throw new NullPointerException("unit == null"); + } + ScheduledRunnable scheduled = new ScheduledRunnable(handler, RxJavaPlugins.onSchedule(run)); + handler.postTask(scheduled, unit.toMillis(delay)); + return scheduled; + } + + @Override + public Worker createWorker() { + return new HandlerWorker(handler); + } + /** * ScheduledRunnable * @@ -84,28 +102,6 @@ final class OpenHandlerScheduler extends Scheduler { private volatile boolean isDisposed; - OpenHandlerScheduler(EventHandler eventHandler) { - this.handler = eventHandler; - } - - @Override - public Disposable scheduleDirect(Runnable run, long delay, TimeUnit unit) { - if (run == null) { - throw new NullPointerException("run == null"); - } - if (unit == null) { - throw new NullPointerException("unit == null"); - } - ScheduledRunnable scheduled = new ScheduledRunnable(handler, RxJavaPlugins.onSchedule(run)); - handler.postTask(scheduled, unit.toMillis(delay)); - return scheduled; - } - - @Override - public Worker createWorker() { - return new HandlerWorker(handler); - } - ScheduledRunnable(EventHandler eventHandler, Runnable runnable) { this.handler = eventHandler; this.delegate = runnable; @@ -128,5 +124,8 @@ final class OpenHandlerScheduler extends Scheduler { } } + OpenHandlerScheduler(EventHandler eventHandler) { + this.handler = eventHandler; + } -} +} \ No newline at end of file -- Gitee From eae3ee2378aba11fbe95ffce62eda95b54eb8b3c Mon Sep 17 00:00:00 2001 From: lele <879860859@qq.com> Date: Tue, 6 Jul 2021 03:04:15 +0000 Subject: [PATCH 12/12] commit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 06e0d5f..2ceef49 100644 --- a/README.md +++ b/README.md @@ -155,7 +155,7 @@ CodeCheck代码测试无异常 CloudTest代码测试无异常 -火绒安全病毒安全检测通过 +病毒安全检测通过 当前版本demo功能与原组件基本无差异 -- Gitee