From 497062de265ea52ef2f0a314d8520d0f39f62158 Mon Sep 17 00:00:00 2001 From: guojin26 Date: Mon, 23 Aug 2021 16:27:38 +0800 Subject: [PATCH 1/2] update distributedmusicplayer Signed-off-by: guojin26 --- ability/DistributedMusicPlayer/build.gradle | 4 +- .../DistributedMusicPlayer/entry/build.gradle | 4 +- .../slice/MainAbilitySlice.java | 63 +++++++++++++++++-- 3 files changed, 62 insertions(+), 9 deletions(-) diff --git a/ability/DistributedMusicPlayer/build.gradle b/ability/DistributedMusicPlayer/build.gradle index 4e8a6aadbd..906f424fe3 100644 --- a/ability/DistributedMusicPlayer/build.gradle +++ b/ability/DistributedMusicPlayer/build.gradle @@ -2,9 +2,9 @@ apply plugin: 'com.huawei.ohos.app' ohos { - compileSdkVersion 5 + compileSdkVersion 6 defaultConfig { - compatibleSdkVersion 4 + compatibleSdkVersion 5 } } diff --git a/ability/DistributedMusicPlayer/entry/build.gradle b/ability/DistributedMusicPlayer/entry/build.gradle index 83f59debbd..039f7877f9 100644 --- a/ability/DistributedMusicPlayer/entry/build.gradle +++ b/ability/DistributedMusicPlayer/entry/build.gradle @@ -1,8 +1,8 @@ apply plugin: 'com.huawei.ohos.hap' ohos { - compileSdkVersion 5 + compileSdkVersion 6 defaultConfig { - compatibleSdkVersion 4 + compatibleSdkVersion 5 } buildTypes { release { diff --git a/ability/DistributedMusicPlayer/entry/src/main/java/ohos/samples/distributedmusicplayer/slice/MainAbilitySlice.java b/ability/DistributedMusicPlayer/entry/src/main/java/ohos/samples/distributedmusicplayer/slice/MainAbilitySlice.java index 26f7d8ac33..fb809c9cd4 100644 --- a/ability/DistributedMusicPlayer/entry/src/main/java/ohos/samples/distributedmusicplayer/slice/MainAbilitySlice.java +++ b/ability/DistributedMusicPlayer/entry/src/main/java/ohos/samples/distributedmusicplayer/slice/MainAbilitySlice.java @@ -15,6 +15,7 @@ package ohos.samples.distributedmusicplayer.slice; +import ohos.aafwk.ability.continuation.*; import ohos.samples.distributedmusicplayer.ResourceTable; import ohos.samples.distributedmusicplayer.utils.LogUtil; import ohos.samples.distributedmusicplayer.utils.PlayerManager; @@ -50,6 +51,8 @@ public class MainAbilitySlice extends AbilitySlice implements PlayerStateListene private static final String URI2 = "resources/rawfile/Homey.wav"; + private static final String CONTINUE_BUNDLE = "ohos.samples.distributedmusicplayer"; + private final String[] musics = {URI1, URI2}; private final int[] posters = {ResourceTable.Media_album, ResourceTable.Media_album2}; @@ -78,6 +81,12 @@ public class MainAbilitySlice extends AbilitySlice implements PlayerStateListene private Image musicPosters; + private IContinuationRegisterManager continuationRegisterManager; + + private String jsonParams; + + private int abilityToken; + @Override public void onStart(Intent intent) { super.onStart(intent); @@ -87,6 +96,17 @@ public class MainAbilitySlice extends AbilitySlice implements PlayerStateListene initMedia(); updateUI(); remotePlay(); + initContinuationRegisterManager(); + } + + private void initContinuationRegisterManager() { + continuationRegisterManager = getContinuationRegisterManager(); + ExtraParams params = new ExtraParams(); + String[] devTypes = new String[]{ExtraParams.DEVICETYPE_SMART_PAD, ExtraParams.DEVICETYPE_SMART_PHONE}; + params.setDevType(devTypes); + jsonParams = "{'filter':{'commonFilter':{'groupType':'1|256','faFilter':'{\"targetBundleName\":\"ohos.samples.distributedmusicplayer\"}'}}}"; + params.setJsonParams(jsonParams); + continuationRegisterManager.register(CONTINUE_BUNDLE, params, callback, requestCallback); } private void initMedia() { @@ -114,11 +134,11 @@ public class MainAbilitySlice extends AbilitySlice implements PlayerStateListene } private void continueAbility(Component component) { - try { - continueAbility(); - } catch (IllegalStateException e) { - LogUtil.info(TAG, e.getMessage()); - } + ExtraParams params = new ExtraParams(); + String[] devTypes = new String[]{ExtraParams.DEVICETYPE_SMART_PAD, ExtraParams.DEVICETYPE_SMART_PHONE}; + params.setDevType(devTypes); + params.setJsonParams(jsonParams); + continuationRegisterManager.showDeviceList(abilityToken, params, null); } private void updateUI() { @@ -244,6 +264,39 @@ public class MainAbilitySlice extends AbilitySlice implements PlayerStateListene return true; } + private final IContinuationDeviceCallback callback = new IContinuationDeviceCallback() { + @Override + public void onConnected(ContinuationDeviceInfo deviceInfo) { + LogUtil.info(TAG, "onConnected: " + deviceInfo.getDeviceId()); + } + @Override + public void onDisconnected(String deviceId) { + LogUtil.info(TAG, "onDisconnected: " + deviceId); + } + + @Override + public void onDeviceConnectDone(String deviceId, String deviceType) { + LogUtil.info(TAG, "onDeviceConnectDone: " + deviceId); + //更新选择设备后的流转状态 + continuationRegisterManager.updateConnectStatus(abilityToken, deviceId, DeviceConnectState.CONNECTED.getState(), null); + continueAbility(deviceId); + } + + @Override + public void onDeviceDisconnectDone(String deviceId) { + LogUtil.info(TAG, "onDeviceDisconnectDone: " + deviceId); + //更新选择设备后的流转状态 + continuationRegisterManager.updateConnectStatus(abilityToken, deviceId, DeviceConnectState.IDLE.getState(), null); + } + }; + + private final RequestCallback requestCallback = new RequestCallback() { + @Override + public void onResult(int result) { + abilityToken = result; + } + }; + @Override public void onCompleteContinuation(int i) { terminate(); -- Gitee From 4ede63902e689c7315080876023ecbfbd9f71933 Mon Sep 17 00:00:00 2001 From: guojin26 Date: Mon, 23 Aug 2021 17:31:51 +0800 Subject: [PATCH 2/2] update distributedscheduler Signed-off-by: guojin26 --- ability/DistributedScheduler/build.gradle | 2 +- .../DistributedScheduler/entry/build.gradle | 2 +- .../slice/MainAbilitySlice.java | 25 +++++++++++-------- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/ability/DistributedScheduler/build.gradle b/ability/DistributedScheduler/build.gradle index 02c896996f..906f424fe3 100644 --- a/ability/DistributedScheduler/build.gradle +++ b/ability/DistributedScheduler/build.gradle @@ -4,7 +4,7 @@ apply plugin: 'com.huawei.ohos.app' ohos { compileSdkVersion 6 defaultConfig { - compatibleSdkVersion 6 + compatibleSdkVersion 5 } } diff --git a/ability/DistributedScheduler/entry/build.gradle b/ability/DistributedScheduler/entry/build.gradle index f8ae90aed2..039f7877f9 100644 --- a/ability/DistributedScheduler/entry/build.gradle +++ b/ability/DistributedScheduler/entry/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.huawei.ohos.hap' ohos { compileSdkVersion 6 defaultConfig { - compatibleSdkVersion 6 + compatibleSdkVersion 5 } buildTypes { release { diff --git a/ability/DistributedScheduler/entry/src/main/java/ohos/samples/distributedscheduler/slice/MainAbilitySlice.java b/ability/DistributedScheduler/entry/src/main/java/ohos/samples/distributedscheduler/slice/MainAbilitySlice.java index 999fa13ea2..d0f93e7ba7 100644 --- a/ability/DistributedScheduler/entry/src/main/java/ohos/samples/distributedscheduler/slice/MainAbilitySlice.java +++ b/ability/DistributedScheduler/entry/src/main/java/ohos/samples/distributedscheduler/slice/MainAbilitySlice.java @@ -15,11 +15,7 @@ package ohos.samples.distributedscheduler.slice; -import ohos.aafwk.ability.continuation.ExtraParams; -import ohos.aafwk.ability.continuation.ContinuationDeviceInfo; -import ohos.aafwk.ability.continuation.IContinuationDeviceCallback; -import ohos.aafwk.ability.continuation.IContinuationRegisterManager; -import ohos.aafwk.ability.continuation.RequestCallback; +import ohos.aafwk.ability.continuation.*; import ohos.distributedschedule.interwork.IInitCallback; import ohos.samples.distributedscheduler.MainAbility; import ohos.samples.distributedscheduler.RemoteAgentProxy; @@ -75,6 +71,8 @@ public class MainAbilitySlice extends AbilitySlice implements IAbilityContinuati private RemoteAgentProxy remoteAgentProxy = null; + private String jsonParams; + private EventHandler eventHandler = new EventHandler(EventRunner.current()) { @Override protected void processEvent(InnerEvent event) { @@ -105,8 +103,7 @@ public class MainAbilitySlice extends AbilitySlice implements IAbilityContinuati String[] devTypes = new String[]{ExtraParams.DEVICETYPE_SMART_PAD, ExtraParams.DEVICETYPE_SMART_PHONE}; params.setDevType(devTypes); params.setTargetBundleName(REMOTE_BUNDLE); - String jsonParams = "{\"filter\":{\"commonFilter\":{\"groupType\":\"1|256\"}}," + - "\"isTurnOffRecommend\":true,\"transferScene\":0}"; + jsonParams = "{'filter':{'commonFilter':{'groupType':'1|256','faFilter':'{\"targetBundleName\":\"ohos.samples.distributedscheduler\"}'}}}"; params.setJsonParams(jsonParams); continuationRegisterManager.register(REMOTE_BUNDLE, params, callback, requestCallback); } @@ -153,8 +150,6 @@ public class MainAbilitySlice extends AbilitySlice implements IAbilityContinuati String[] devTypes = new String[]{ExtraParams.DEVICETYPE_SMART_PAD, ExtraParams.DEVICETYPE_SMART_PHONE}; params.setDevType(devTypes); params.setTargetBundleName(REMOTE_BUNDLE); - String jsonParams = "{\"filter\":{\"commonFilter\":{\"groupType\":\"1|256\"}}," + - "\"isTurnOffRecommend\":true,\"transferScene\":0}"; params.setJsonParams(jsonParams); continuationRegisterManager.showDeviceList(abilityToken, params, null); } @@ -162,19 +157,27 @@ public class MainAbilitySlice extends AbilitySlice implements IAbilityContinuati private IContinuationDeviceCallback callback = new IContinuationDeviceCallback() { @Override public void onConnected(ContinuationDeviceInfo deviceInfo) { - selectedDeviceId = deviceInfo.getDeviceId(); } @Override public void onDisconnected(String deviceId) { - selectedDeviceId = ""; } @Override public void onDeviceConnectDone(String deviceId, String deviceType) { + HiLog.info(LABEL_LOG, "onDeviceConnectDone: " + deviceId); + selectedDeviceId = deviceId; + //更新选择设备后的流转状态 + continuationRegisterManager.updateConnectStatus(abilityToken, selectedDeviceId, DeviceConnectState.CONNECTED.getState(), null); + showTips(getContext(), "device connect succeed"); } @Override public void onDeviceDisconnectDone(String deviceId) { + HiLog.info(LABEL_LOG, "onDeviceDisconnectDone: " + deviceId); + selectedDeviceId = ""; + //更新选择设备后的流转状态 + continuationRegisterManager.updateConnectStatus(abilityToken, selectedDeviceId, DeviceConnectState.IDLE.getState(), null); + showTips(getContext(), "device disconnected"); } }; -- Gitee