Skip to content

Commit 1e7384a

Browse files
Merge branch 'develop' into bugfix/issue_1331
# Conflicts: # android/sdl_android/src/main/java/com/smartdevicelink/managers/video/VideoStreamManager.java
2 parents 0d147c9 + 7bf138f commit 1e7384a

13 files changed

Lines changed: 578 additions & 124 deletions

File tree

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,4 +73,6 @@ build/
7373
/.idea/libraries
7474
/captures
7575
.externalNativeBuild
76-
76+
gradle/
77+
gradlew
78+
gradlew.bat

android/hello_sdl_android/src/main/java/com/sdl/hellosdlandroid/SdlReceiver.java

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,9 @@
77

88
import com.smartdevicelink.transport.SdlBroadcastReceiver;
99
import com.smartdevicelink.transport.SdlRouterService;
10-
import com.smartdevicelink.transport.TransportConstants;
1110

1211
public class SdlReceiver extends SdlBroadcastReceiver {
1312
private static final String TAG = "SdlBroadcastReciever";
14-
public static final String RECONNECT_LANG_CHANGE = "RECONNECT_LANG_CHANGE";
1513

1614
@Override
1715
public void onSdlEnabled(Context context, Intent intent) {
@@ -36,16 +34,5 @@ public Class<? extends SdlRouterService> defineLocalSdlRouterClass() {
3634
@Override
3735
public void onReceive(Context context, Intent intent) {
3836
super.onReceive(context, intent); // Required if overriding this method
39-
40-
if (intent != null) {
41-
String action = intent.getAction();
42-
if (action != null){
43-
if(action.equalsIgnoreCase(TransportConstants.START_ROUTER_SERVICE_ACTION)) {
44-
if (intent.getBooleanExtra(RECONNECT_LANG_CHANGE, false)) {
45-
onSdlEnabled(context, intent);
46-
}
47-
}
48-
}
49-
}
5037
}
5138
}

android/sdl_android/src/androidTest/java/com/smartdevicelink/managers/SdlManagerTests.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.smartdevicelink.transport.BaseTransportConfig;
2626
import com.smartdevicelink.transport.TCPTransportConfig;
2727

28+
import org.mockito.Mockito;
2829
import org.mockito.invocation.InvocationOnMock;
2930
import org.mockito.stubbing.Answer;
3031

@@ -60,6 +61,8 @@ public class SdlManagerTests extends AndroidTestCase2 {
6061
public void setUp() throws Exception{
6162
super.setUp();
6263

64+
mTestContext = Mockito.mock(Context.class);
65+
6366
// set transport
6467
transport = new TCPTransportConfig(TCP_PORT, DEV_MACHINE_IP_ADDRESS, true);
6568

@@ -125,6 +128,7 @@ public LifecycleConfigurationUpdate managerShouldUpdateLifecycle(Language langua
125128
builder.setLockScreenConfig(lockScreenConfig);
126129
builder.setMinimumProtocolVersion(Test.GENERAL_VERSION);
127130
builder.setMinimumRPCVersion(Test.GENERAL_VERSION);
131+
builder.setContext(mTestContext);
128132
manager = builder.build();
129133

130134
// mock SdlProxyBase and set it manually
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
package com.smartdevicelink.managers.lockscreen;
2+
3+
import android.content.Context;
4+
import android.content.SharedPreferences;
5+
import android.graphics.Bitmap;
6+
7+
import com.smartdevicelink.AndroidTestCase2;
8+
import com.smartdevicelink.util.AndroidTools;
9+
10+
import org.json.JSONException;
11+
import org.json.JSONObject;
12+
import org.junit.rules.TemporaryFolder;
13+
import org.mockito.Mockito;
14+
15+
import java.io.File;
16+
import java.io.IOException;
17+
import java.math.BigInteger;
18+
import java.security.MessageDigest;
19+
import java.security.NoSuchAlgorithmException;
20+
21+
import static org.mockito.ArgumentMatchers.any;
22+
import static org.mockito.ArgumentMatchers.anyInt;
23+
import static org.mockito.ArgumentMatchers.anyString;
24+
import static org.mockito.ArgumentMatchers.isNull;
25+
import static org.mockito.Mockito.times;
26+
import static org.mockito.Mockito.verify;
27+
28+
public class LockScreenDeviceIconManagerTests extends AndroidTestCase2 {
29+
30+
TemporaryFolder tempFolder = new TemporaryFolder();
31+
private LockScreenDeviceIconManager lockScreenDeviceIconManager;
32+
private static final String ICON_URL = "https://i.imgur.com/TgkvOIZ.png";
33+
private static final String LAST_UPDATED_TIME = "lastUpdatedTime";
34+
private static final String STORED_PATH = "storedPath";
35+
36+
public void setup() throws Exception {
37+
super.setUp();
38+
}
39+
40+
public void tearDown() throws Exception {
41+
super.tearDown();
42+
}
43+
44+
public void testRetrieveIconShouldCallOnErrorTwiceWhenGivenURLThatCannotDownloadAndIconIsNotCached() {
45+
final SharedPreferences sharedPrefs = Mockito.mock(SharedPreferences.class);
46+
final Context context = Mockito.mock(Context.class);
47+
final LockScreenDeviceIconManager.OnIconRetrievedListener listener = Mockito.mock(LockScreenDeviceIconManager.OnIconRetrievedListener.class);
48+
49+
Mockito.when(context.getSharedPreferences(anyString(), anyInt())).thenReturn(sharedPrefs);
50+
Mockito.when(sharedPrefs.getString(anyString(), (String) isNull())).thenReturn(null);
51+
52+
lockScreenDeviceIconManager = new LockScreenDeviceIconManager(context);
53+
lockScreenDeviceIconManager.retrieveIcon("", listener);
54+
verify(listener, times(2)).onError(anyString());
55+
}
56+
57+
public void testRetrieveIconShouldCallOnImageOnImageRetrievedWithIconWhenIconUpdateTimeIsNullFromSharedPref() {
58+
final SharedPreferences sharedPrefs = Mockito.mock(SharedPreferences.class);
59+
final Context context = Mockito.mock(Context.class);
60+
final LockScreenDeviceIconManager.OnIconRetrievedListener listener = Mockito.mock(LockScreenDeviceIconManager.OnIconRetrievedListener.class);
61+
62+
Mockito.when(context.getSharedPreferences(anyString(), anyInt())).thenReturn(sharedPrefs);
63+
Mockito.when(sharedPrefs.getString(anyString(), (String) isNull())).thenReturn(null);
64+
65+
lockScreenDeviceIconManager = new LockScreenDeviceIconManager(context);
66+
lockScreenDeviceIconManager.retrieveIcon(ICON_URL, listener);
67+
verify(listener, times(1)).onImageRetrieved((Bitmap) any());
68+
}
69+
70+
71+
public void testRetrieveIconShouldCallOnImageOnImageRetrievedWithIconWhenCachedIconExpired() {
72+
final SharedPreferences sharedPrefs = Mockito.mock(SharedPreferences.class);
73+
final Context context = Mockito.mock(Context.class);
74+
final LockScreenDeviceIconManager.OnIconRetrievedListener listener = Mockito.mock(LockScreenDeviceIconManager.OnIconRetrievedListener.class);
75+
76+
Mockito.when(context.getSharedPreferences(anyString(), anyInt())).thenReturn(sharedPrefs);
77+
Mockito.when(sharedPrefs.getString(anyString(), (String) isNull())).thenReturn(daysToMillisecondsAsString(31));
78+
79+
lockScreenDeviceIconManager = new LockScreenDeviceIconManager(context);
80+
lockScreenDeviceIconManager.retrieveIcon(ICON_URL, listener);
81+
verify(listener, times(1)).onImageRetrieved((Bitmap) any());
82+
}
83+
84+
public void testRetrieveIconShouldCallOnImageRetrievedWithIconWhenCachedIconIsUpToDate() {
85+
final SharedPreferences sharedPrefs = Mockito.mock(SharedPreferences.class);
86+
final Context context = Mockito.mock(Context.class);
87+
final SharedPreferences.Editor sharedPrefsEditor = Mockito.mock(SharedPreferences.Editor.class);
88+
final LockScreenDeviceIconManager.OnIconRetrievedListener listener = Mockito.mock(LockScreenDeviceIconManager.OnIconRetrievedListener.class);
89+
90+
Mockito.when(context.getSharedPreferences(anyString(), anyInt())).thenReturn(sharedPrefs);
91+
Mockito.when(sharedPrefs.getString(anyString(), (String) isNull())).thenReturn(daysToMillisecondsAsString(15));
92+
Mockito.when(sharedPrefs.edit()).thenReturn(sharedPrefsEditor);
93+
Mockito.when(sharedPrefsEditor.clear()).thenReturn(sharedPrefsEditor);
94+
95+
lockScreenDeviceIconManager = new LockScreenDeviceIconManager(context);
96+
lockScreenDeviceIconManager.retrieveIcon(ICON_URL, listener);
97+
verify(listener, times(1)).onImageRetrieved((Bitmap) any());
98+
}
99+
100+
private String daysToMillisecondsAsString(int days) {
101+
long milliSeconds = (long) days * 24 * 60 * 60 * 1000;
102+
long previousDay = System.currentTimeMillis() - milliSeconds;
103+
return String.valueOf(previousDay);
104+
}
105+
}

android/sdl_android/src/androidTest/java/com/smartdevicelink/test/proxy/SystemCapabilityManagerTests.java

Lines changed: 62 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.smartdevicelink.proxy.rpc.GetSystemCapability;
2323
import com.smartdevicelink.proxy.rpc.GetSystemCapabilityResponse;
2424
import com.smartdevicelink.proxy.rpc.HMICapabilities;
25+
import com.smartdevicelink.proxy.rpc.OnHMIStatus;
2526
import com.smartdevicelink.proxy.rpc.OnSystemCapabilityUpdated;
2627
import com.smartdevicelink.proxy.rpc.PhoneCapability;
2728
import com.smartdevicelink.proxy.rpc.PresetBankCapabilities;
@@ -34,7 +35,9 @@
3435
import com.smartdevicelink.proxy.rpc.WindowCapability;
3536
import com.smartdevicelink.proxy.rpc.WindowTypeCapabilities;
3637
import com.smartdevicelink.proxy.rpc.enums.AppServiceType;
38+
import com.smartdevicelink.proxy.rpc.enums.AudioStreamingState;
3739
import com.smartdevicelink.proxy.rpc.enums.DisplayType;
40+
import com.smartdevicelink.proxy.rpc.enums.HMILevel;
3841
import com.smartdevicelink.proxy.rpc.enums.HmiZoneCapabilities;
3942
import com.smartdevicelink.proxy.rpc.enums.ImageType;
4043
import com.smartdevicelink.proxy.rpc.enums.MediaClockFormat;
@@ -44,6 +47,7 @@
4447
import com.smartdevicelink.proxy.rpc.enums.ServiceUpdateReason;
4548
import com.smartdevicelink.proxy.rpc.enums.SpeechCapabilities;
4649
import com.smartdevicelink.proxy.rpc.enums.SystemCapabilityType;
50+
import com.smartdevicelink.proxy.rpc.enums.SystemContext;
4751
import com.smartdevicelink.proxy.rpc.enums.WindowType;
4852
import com.smartdevicelink.proxy.rpc.listeners.OnMultipleRequestListener;
4953
import com.smartdevicelink.proxy.rpc.listeners.OnRPCListener;
@@ -67,6 +71,7 @@
6771
import java.util.concurrent.CopyOnWriteArrayList;
6872

6973
import static org.mockito.ArgumentMatchers.any;
74+
import static org.mockito.ArgumentMatchers.eq;
7075
import static org.mockito.Mockito.doAnswer;
7176
import static org.mockito.Mockito.mock;
7277
import static org.mockito.Mockito.times;
@@ -216,6 +221,11 @@ public void sendRPC(RPCMessage message) {
216221
request.getOnRPCResponseListener().onResponse(CorrelationIdGenerator.generateId(), response);
217222
}
218223
}
224+
225+
@Override
226+
public void addOnRPCListener(FunctionID messageId, OnRPCListener listener) {
227+
listener.onReceived(new OnHMIStatus(HMILevel.HMI_FULL, AudioStreamingState.NOT_AUDIBLE, SystemContext.SYSCTXT_MAIN));
228+
}
219229
});
220230

221231
systemCapabilityManager.getCapability(SystemCapabilityType.VIDEO_STREAMING, new OnSystemCapabilityListener() {
@@ -234,6 +244,21 @@ public void onError(String info) {
234244
});
235245
}
236246

247+
private Answer<Void> createOnHMIStatusAnswer(final HMILevel hmiLevel){
248+
Answer<Void> onHMIStatusAnswer = new Answer<Void>() {
249+
@Override
250+
public Void answer(InvocationOnMock invocation) {
251+
Object[] args = invocation.getArguments();
252+
OnRPCListener onHMIStatusListener = (OnRPCListener) args[1];
253+
OnHMIStatus onHMIStatusFakeNotification = new OnHMIStatus();
254+
onHMIStatusFakeNotification.setHmiLevel(hmiLevel);
255+
onHMIStatusListener.onReceived(onHMIStatusFakeNotification);
256+
return null;
257+
}
258+
};
259+
return onHMIStatusAnswer;
260+
}
261+
237262
private Answer<Void> createOnSendGetSystemCapabilityAnswer (final boolean success, final Boolean subscribe) {
238263
Answer<Void> onSendGetSystemCapabilityAnswer = new Answer<Void>() {
239264
@Override
@@ -266,6 +291,7 @@ public void testGetCapability() {
266291

267292
// Test case 1 (capability not cached, listener not null, forceUpdate false)
268293
internalInterface = mock(ISdl.class);
294+
doAnswer(createOnHMIStatusAnswer(HMILevel.HMI_FULL)).when(internalInterface).addOnRPCListener(eq(FunctionID.ON_HMI_STATUS), any(OnRPCListener.class));
269295
scm = new SystemCapabilityManager(internalInterface);
270296
onSystemCapabilityListener = mock(OnSystemCapabilityListener.class);
271297
doAnswer(createOnSendGetSystemCapabilityAnswer(true, null)).when(internalInterface).sendRPC(any(GetSystemCapability.class));
@@ -278,6 +304,7 @@ public void testGetCapability() {
278304

279305
// Test case 2 (capability cached, listener not null, forceUpdate true)
280306
internalInterface = mock(ISdl.class);
307+
doAnswer(createOnHMIStatusAnswer(HMILevel.HMI_FULL)).when(internalInterface).addOnRPCListener(eq(FunctionID.ON_HMI_STATUS), any(OnRPCListener.class));
281308
scm = new SystemCapabilityManager(internalInterface);
282309
onSystemCapabilityListener = mock(OnSystemCapabilityListener.class);
283310
doAnswer(createOnSendGetSystemCapabilityAnswer(true, null)).when(internalInterface).sendRPC(any(GetSystemCapability.class));
@@ -290,6 +317,7 @@ public void testGetCapability() {
290317

291318
// Test case 3 (capability cached, listener null, forceUpdate true)
292319
internalInterface = mock(ISdl.class);
320+
doAnswer(createOnHMIStatusAnswer(HMILevel.HMI_FULL)).when(internalInterface).addOnRPCListener(eq(FunctionID.ON_HMI_STATUS), any(OnRPCListener.class));
293321
scm = new SystemCapabilityManager(internalInterface);
294322
onSystemCapabilityListener = null;
295323
doAnswer(createOnSendGetSystemCapabilityAnswer(true, null)).when(internalInterface).sendRPC(any(GetSystemCapability.class));
@@ -301,6 +329,7 @@ public void testGetCapability() {
301329

302330
// Test case 4 (capability cached, listener null, forceUpdate false)
303331
internalInterface = mock(ISdl.class);
332+
doAnswer(createOnHMIStatusAnswer(HMILevel.HMI_FULL)).when(internalInterface).addOnRPCListener(eq(FunctionID.ON_HMI_STATUS), any(OnRPCListener.class));
304333
scm = new SystemCapabilityManager(internalInterface);
305334
onSystemCapabilityListener = null;
306335
doAnswer(createOnSendGetSystemCapabilityAnswer(true, null)).when(internalInterface).sendRPC(any(GetSystemCapability.class));
@@ -310,10 +339,25 @@ public void testGetCapability() {
310339
verify(internalInterface, times(0)).sendRPC(any(GetSystemCapability.class));
311340
}
312341

342+
public void testGetCapabilityHmiNone() {
343+
ISdl internalInterface = mock(ISdl.class);
344+
doAnswer(createOnHMIStatusAnswer(HMILevel.HMI_NONE)).when(internalInterface).addOnRPCListener(eq(FunctionID.ON_HMI_STATUS), any(OnRPCListener.class));
345+
SystemCapabilityManager scm = new SystemCapabilityManager(internalInterface);
346+
OnSystemCapabilityListener onSystemCapabilityListener = mock(OnSystemCapabilityListener.class);
347+
doAnswer(createOnSendGetSystemCapabilityAnswer(true, null)).when(internalInterface).sendRPC(any(GetSystemCapability.class));
348+
scm.setCapability(SystemCapabilityType.VIDEO_STREAMING, null);
349+
VideoStreamingCapability retrievedCapability = (VideoStreamingCapability) scm.getCapability(SystemCapabilityType.VIDEO_STREAMING, onSystemCapabilityListener, false);
350+
assertNull(retrievedCapability);
351+
verify(internalInterface, times(0)).sendRPC(any(GetSystemCapability.class));
352+
verify(onSystemCapabilityListener, times(0)).onCapabilityRetrieved(any(Object.class));
353+
verify(onSystemCapabilityListener, times(1)).onError(any(String.class));
354+
}
355+
313356
public void testAddOnSystemCapabilityListenerWithSubscriptionsSupportedAndCapabilityCached() {
314357
SdlMsgVersion sdlMsgVersion = new SdlMsgVersion(6, 0); // This version supports capability subscriptions
315358
sdlMsgVersion.setPatchVersion(0);
316359
ISdl internalInterface = mock(ISdl.class);
360+
doAnswer(createOnHMIStatusAnswer(HMILevel.HMI_FULL)).when(internalInterface).addOnRPCListener(eq(FunctionID.ON_HMI_STATUS), any(OnRPCListener.class));
317361
when(internalInterface.getSdlMsgVersion()).thenReturn(sdlMsgVersion);
318362
SystemCapabilityManager scm = new SystemCapabilityManager(internalInterface);
319363
scm.setCapability(SystemCapabilityType.VIDEO_STREAMING, videoStreamingCapability);
@@ -359,6 +403,7 @@ public void testAddOnSystemCapabilityListenerWithSubscriptionsSupportedAndCapabi
359403
SdlMsgVersion sdlMsgVersion = new SdlMsgVersion(6, 0); // This version supports capability subscriptions
360404
sdlMsgVersion.setPatchVersion(0);
361405
ISdl internalInterface = mock(ISdl.class);
406+
doAnswer(createOnHMIStatusAnswer(HMILevel.HMI_FULL)).when(internalInterface).addOnRPCListener(eq(FunctionID.ON_HMI_STATUS), any(OnRPCListener.class));
362407
when(internalInterface.getSdlMsgVersion()).thenReturn(sdlMsgVersion);
363408
SystemCapabilityManager scm = new SystemCapabilityManager(internalInterface);
364409
scm.setCapability(SystemCapabilityType.VIDEO_STREAMING, null);
@@ -404,6 +449,7 @@ public void testAddOnSystemCapabilityListenerWithSubscriptionsNotSupportedAndCap
404449
SdlMsgVersion sdlMsgVersion = new SdlMsgVersion(5, 0); // This version doesn't support capability subscriptions
405450
sdlMsgVersion.setPatchVersion(0);
406451
ISdl internalInterface = mock(ISdl.class);
452+
doAnswer(createOnHMIStatusAnswer(HMILevel.HMI_FULL)).when(internalInterface).addOnRPCListener(eq(FunctionID.ON_HMI_STATUS), any(OnRPCListener.class));
407453
when(internalInterface.getSdlMsgVersion()).thenReturn(sdlMsgVersion);
408454
SystemCapabilityManager scm = new SystemCapabilityManager(internalInterface);
409455
scm.setCapability(SystemCapabilityType.VIDEO_STREAMING, videoStreamingCapability);
@@ -449,6 +495,7 @@ public void testAddOnSystemCapabilityListenerWithSubscriptionsNotSupportedAndCap
449495
SdlMsgVersion sdlMsgVersion = new SdlMsgVersion(5, 0); // This version doesn't support capability subscriptions
450496
sdlMsgVersion.setPatchVersion(0);
451497
ISdl internalInterface = mock(ISdl.class);
498+
doAnswer(createOnHMIStatusAnswer(HMILevel.HMI_FULL)).when(internalInterface).addOnRPCListener(eq(FunctionID.ON_HMI_STATUS), any(OnRPCListener.class));
452499
when(internalInterface.getSdlMsgVersion()).thenReturn(sdlMsgVersion);
453500
SystemCapabilityManager scm = new SystemCapabilityManager(internalInterface);
454501
scm.setCapability(SystemCapabilityType.VIDEO_STREAMING, null);
@@ -494,6 +541,7 @@ public void testAddOnSystemCapabilityListenerThenGetCapabilityWhenSubscriptionsA
494541
SdlMsgVersion sdlMsgVersion = new SdlMsgVersion(5, 0); // This version doesn't support capability subscriptions
495542
sdlMsgVersion.setPatchVersion(0);
496543
ISdl internalInterface = mock(ISdl.class);
544+
doAnswer(createOnHMIStatusAnswer(HMILevel.HMI_FULL)).when(internalInterface).addOnRPCListener(eq(FunctionID.ON_HMI_STATUS), any(OnRPCListener.class));
497545
when(internalInterface.getSdlMsgVersion()).thenReturn(sdlMsgVersion);
498546
SystemCapabilityManager scm = new SystemCapabilityManager(internalInterface);
499547
scm.setCapability(SystemCapabilityType.VIDEO_STREAMING, videoStreamingCapability);
@@ -586,17 +634,17 @@ public void testGetAndAddListenerForDisplaysCapability() {
586634

587635

588636
// Test case 1 (capability cached, listener not null, forceUpdate true)
589-
// Force updating DISPLAYS capability should call onError()
590637
internalInterface = mock(ISdl.class);
638+
doAnswer(createOnHMIStatusAnswer(HMILevel.HMI_FULL)).when(internalInterface).addOnRPCListener(eq(FunctionID.ON_HMI_STATUS), any(OnRPCListener.class));
591639
scm = new SystemCapabilityManager(internalInterface);
592640
onSystemCapabilityListener = mock(OnSystemCapabilityListener.class);
593641
doAnswer(createOnSendGetSystemCapabilityAnswer(true, null)).when(internalInterface).sendRPC(any(GetSystemCapability.class));
594642
scm.setCapability(SystemCapabilityType.DISPLAYS, new DisplayCapabilities());
595643
retrievedCapability = (DisplayCapabilities) scm.getCapability(SystemCapabilityType.DISPLAYS, onSystemCapabilityListener, true);
596644
assertNotNull(retrievedCapability);
597645
verify(internalInterface, times(0)).sendRPC(any(GetSystemCapability.class));
598-
verify(onSystemCapabilityListener, times(0)).onCapabilityRetrieved(any(Object.class));
599-
verify(onSystemCapabilityListener, times(1)).onError(any(String.class));
646+
verify(onSystemCapabilityListener, times(1)).onCapabilityRetrieved(any(Object.class));
647+
verify(onSystemCapabilityListener, times(0)).onError(any(String.class));
600648

601649

602650
// Test case 2 (Add listener)
@@ -683,7 +731,6 @@ public void testOnSystemCapabilityUpdatedForDISPLAYS() {
683731
}
684732

685733
public void testOnSystemCapabilityUpdated(){
686-
687734
InternalSDLInterface iSDL = new InternalSDLInterface();
688735
String baseName = "NavTest", baseID = "37F98053AE";
689736
AppServiceCapability capability1 = AppServiceFactory.createAppServiceCapability(AppServiceType.NAVIGATION, baseName, null, true, null);
@@ -948,13 +995,21 @@ public boolean removeOnRPCListener(FunctionID messageId, OnRPCListener listener)
948995
public Object getCapability(SystemCapabilityType systemCapabilityType){return null;}
949996

950997
@Override
951-
public void getCapability(SystemCapabilityType systemCapabilityType, OnSystemCapabilityListener scListener) { }
998+
public void getCapability(SystemCapabilityType systemCapabilityType, OnSystemCapabilityListener scListener) {
999+
}
9521000

9531001
@Override
954-
public RegisterAppInterfaceResponse getRegisterAppInterfaceResponse(){return null;}
1002+
public RegisterAppInterfaceResponse getRegisterAppInterfaceResponse() {
1003+
return null;
1004+
}
1005+
1006+
@Override
1007+
public Object getCapability(SystemCapabilityType systemCapabilityType, OnSystemCapabilityListener scListener, boolean forceUpdate) {
1008+
return null;
1009+
}
9551010

9561011
@Override
957-
public SdlMsgVersion getSdlMsgVersion(){
1012+
public SdlMsgVersion getSdlMsgVersion() {
9581013
return null;
9591014
}
9601015

@@ -1001,6 +1056,4 @@ public void startAudioService(boolean encrypted){}
10011056
@Override
10021057
public void startRPCEncryption() {}
10031058
}
1004-
1005-
10061059
}

0 commit comments

Comments
 (0)