Skip to content

Commit 1261918

Browse files
xylophone21pull[bot]
authored andcommitted
fix string delete error in channel cluster (#16831)
* fix string delete error in channel cluster * fix restyled-io and ci errors
1 parent 779589a commit 1261918

File tree

3 files changed

+26
-25
lines changed

3 files changed

+26
-25
lines changed

examples/tv-app/android/java/ChannelManager.cpp

+19-18
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#include "ChannelManager.h"
1919
#include "TvApp-JNI.h"
2020
#include <app-common/zap-generated/ids/Clusters.h>
21+
#include <cstdlib>
2122
#include <jni.h>
2223
#include <lib/core/CHIPSafeCasts.h>
2324
#include <lib/support/CHIPJNIError.h>
@@ -82,25 +83,25 @@ CHIP_ERROR ChannelManager::HandleGetChannelList(AttributeValueEncoder & aEncoder
8283

8384
jfieldID getCallSignField = env->GetFieldID(channelClass, "callSign", "Ljava/lang/String;");
8485
jstring jcallSign = static_cast<jstring>(env->GetObjectField(channelObject, getCallSignField));
85-
if (jcallSign != NULL)
86+
JniUtfString callsign(env, jcallSign);
87+
if (jcallSign != nullptr)
8688
{
87-
JniUtfString callsign(env, jcallSign);
8889
channelInfo.callSign = Optional<CharSpan>(callsign.charSpan());
8990
}
9091

9192
jfieldID getNameField = env->GetFieldID(channelClass, "name", "Ljava/lang/String;");
9293
jstring jname = static_cast<jstring>(env->GetObjectField(channelObject, getNameField));
93-
if (jname != NULL)
94+
JniUtfString name(env, jname);
95+
if (jname != nullptr)
9496
{
95-
JniUtfString name(env, jname);
9697
channelInfo.name = Optional<CharSpan>(name.charSpan());
9798
}
9899

99100
jfieldID getJaffiliateCallSignField = env->GetFieldID(channelClass, "affiliateCallSign", "Ljava/lang/String;");
100101
jstring jaffiliateCallSign = static_cast<jstring>(env->GetObjectField(channelObject, getJaffiliateCallSignField));
101-
if (jaffiliateCallSign != NULL)
102+
JniUtfString affiliateCallSign(env, jaffiliateCallSign);
103+
if (jaffiliateCallSign != nullptr)
102104
{
103-
JniUtfString affiliateCallSign(env, jaffiliateCallSign);
104105
channelInfo.affiliateCallSign = Optional<CharSpan>(affiliateCallSign.charSpan());
105106
}
106107

@@ -144,25 +145,25 @@ CHIP_ERROR ChannelManager::HandleGetLineup(AttributeValueEncoder & aEncoder)
144145

145146
jfieldID operatorNameFild = env->GetFieldID(channelLineupClazz, "operatorName", "Ljava/lang/String;");
146147
jstring joperatorName = static_cast<jstring>(env->GetObjectField(channelLineupObject, operatorNameFild));
147-
if (joperatorName != NULL)
148+
JniUtfString operatorName(env, joperatorName);
149+
if (joperatorName != nullptr)
148150
{
149-
JniUtfString operatorName(env, joperatorName);
150151
lineupInfo.operatorName = operatorName.charSpan();
151152
}
152153

153154
jfieldID lineupNameFild = env->GetFieldID(channelLineupClazz, "lineupName", "Ljava/lang/String;");
154155
jstring jlineupName = static_cast<jstring>(env->GetObjectField(channelLineupObject, lineupNameFild));
155-
if (jlineupName != NULL)
156+
JniUtfString lineupName(env, jlineupName);
157+
if (jlineupName != nullptr)
156158
{
157-
JniUtfString lineupName(env, jlineupName);
158159
lineupInfo.lineupName = Optional<CharSpan>(lineupName.charSpan());
159160
}
160161

161162
jfieldID postalCodeFild = env->GetFieldID(channelLineupClazz, "postalCode", "Ljava/lang/String;");
162163
jstring jpostalCode = static_cast<jstring>(env->GetObjectField(channelLineupObject, postalCodeFild));
163-
if (jpostalCode != NULL)
164+
JniUtfString postalCode(env, jpostalCode);
165+
if (jpostalCode != nullptr)
164166
{
165-
JniUtfString postalCode(env, jpostalCode);
166167
lineupInfo.postalCode = Optional<CharSpan>(postalCode.charSpan());
167168
}
168169

@@ -198,25 +199,25 @@ CHIP_ERROR ChannelManager::HandleGetCurrentChannel(AttributeValueEncoder & aEnco
198199

199200
jfieldID getCallSignField = env->GetFieldID(channelClass, "callSign", "Ljava/lang/String;");
200201
jstring jcallSign = static_cast<jstring>(env->GetObjectField(channelInfoObject, getCallSignField));
201-
if (jcallSign != NULL)
202+
JniUtfString callsign(env, jcallSign);
203+
if (jcallSign != nullptr)
202204
{
203-
JniUtfString callsign(env, jcallSign);
204205
channelInfo.callSign = Optional<CharSpan>(callsign.charSpan());
205206
}
206207

207208
jfieldID getNameField = env->GetFieldID(channelClass, "name", "Ljava/lang/String;");
208209
jstring jname = static_cast<jstring>(env->GetObjectField(channelInfoObject, getNameField));
209-
if (jname != NULL)
210+
JniUtfString name(env, jname);
211+
if (jname != nullptr)
210212
{
211-
JniUtfString name(env, jname);
212213
channelInfo.name = Optional<CharSpan>(name.charSpan());
213214
}
214215

215216
jfieldID getJaffiliateCallSignField = env->GetFieldID(channelClass, "affiliateCallSign", "Ljava/lang/String;");
216217
jstring jaffiliateCallSign = static_cast<jstring>(env->GetObjectField(channelInfoObject, getJaffiliateCallSignField));
217-
if (jaffiliateCallSign != NULL)
218+
JniUtfString affiliateCallSign(env, jaffiliateCallSign);
219+
if (jaffiliateCallSign != nullptr)
218220
{
219-
JniUtfString affiliateCallSign(env, jaffiliateCallSign);
220221
channelInfo.affiliateCallSign = Optional<CharSpan>(affiliateCallSign.charSpan());
221222
}
222223

examples/tv-app/android/java/src/com/tcl/chip/tvapp/ChannelInfo.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ public class ChannelInfo {
2323
public static final int kMultipleMatches = 0;
2424
public static final int kNoMatches = 1;
2525

26-
private int errorType;
27-
private int majorNumber;
28-
private int minorNumber;
29-
private String name;
30-
private String callSign;
31-
private String affiliateCallSign;
26+
public int errorType;
27+
public int majorNumber;
28+
public int minorNumber;
29+
public String name;
30+
public String callSign;
31+
public String affiliateCallSign;
3232

3333
public ChannelInfo(
3434
int majorNumber, int minorNumber, String name, String callSign, String affiliateCallSign) {

examples/tv-app/android/java/src/com/tcl/chip/tvapp/ChannelManagerStub.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public ChannelManagerStub(int endpoint) {
3131
@Override
3232
public ChannelInfo[] getChannelList() {
3333
ChannelInfo ChannelInfo1 = new ChannelInfo(1, 11, "HDMI1", "callSign1", "affiliateCallSign1");
34-
ChannelInfo ChannelInfo2 = new ChannelInfo(2, 22, "HDMI2", "callSign2", "affiliateCallSign2");
34+
ChannelInfo ChannelInfo2 = new ChannelInfo(2, 22, "HDMI2", null, "");
3535
Log.d(TAG, "getChannelList at " + endpoint);
3636
return new ChannelInfo[] {ChannelInfo1, ChannelInfo2};
3737
}

0 commit comments

Comments
 (0)