@@ -141,37 +141,44 @@ CHIP_ERROR ChannelManager::HandleGetLineup(AttributeValueEncoder & aEncoder)
141
141
142
142
{
143
143
jobject channelLineupObject = env->CallObjectMethod (mChannelManagerObject , mGetLineupMethod );
144
- jclass channelLineupClazz = env->GetObjectClass (channelLineupObject);
145
-
146
- jfieldID operatorNameFild = env->GetFieldID (channelLineupClazz, " operatorName" , " Ljava/lang/String;" );
147
- jstring joperatorName = static_cast <jstring>(env->GetObjectField (channelLineupObject, operatorNameFild));
148
- JniUtfString operatorName (env, joperatorName);
149
- if (joperatorName != nullptr )
144
+ if (channelLineupObject != nullptr )
150
145
{
151
- lineupInfo.operatorName = operatorName.charSpan ();
152
- }
146
+ jclass channelLineupClazz = env->GetObjectClass (channelLineupObject);
153
147
154
- jfieldID lineupNameFild = env->GetFieldID (channelLineupClazz, " lineupName " , " Ljava/lang/String;" );
155
- jstring jlineupName = static_cast <jstring>(env->GetObjectField (channelLineupObject, lineupNameFild ));
156
- JniUtfString lineupName (env, jlineupName );
157
- if (jlineupName != nullptr )
158
- {
159
- lineupInfo.lineupName = Optional<CharSpan>(lineupName .charSpan () );
160
- }
148
+ jfieldID operatorNameFild = env->GetFieldID (channelLineupClazz, " operatorName " , " Ljava/lang/String;" );
149
+ jstring joperatorName = static_cast <jstring>(env->GetObjectField (channelLineupObject, operatorNameFild ));
150
+ JniUtfString operatorName (env, joperatorName );
151
+ if (joperatorName != nullptr )
152
+ {
153
+ lineupInfo.operatorName = operatorName .charSpan ();
154
+ }
161
155
162
- jfieldID postalCodeFild = env->GetFieldID (channelLineupClazz, " postalCode" , " Ljava/lang/String;" );
163
- jstring jpostalCode = static_cast <jstring>(env->GetObjectField (channelLineupObject, postalCodeFild));
164
- JniUtfString postalCode (env, jpostalCode);
165
- if (jpostalCode != nullptr )
166
- {
167
- lineupInfo.postalCode = Optional<CharSpan>(postalCode.charSpan ());
168
- }
156
+ jfieldID lineupNameFild = env->GetFieldID (channelLineupClazz, " lineupName" , " Ljava/lang/String;" );
157
+ jstring jlineupName = static_cast <jstring>(env->GetObjectField (channelLineupObject, lineupNameFild));
158
+ JniUtfString lineupName (env, jlineupName);
159
+ if (jlineupName != nullptr )
160
+ {
161
+ lineupInfo.lineupName = Optional<CharSpan>(lineupName.charSpan ());
162
+ }
163
+
164
+ jfieldID postalCodeFild = env->GetFieldID (channelLineupClazz, " postalCode" , " Ljava/lang/String;" );
165
+ jstring jpostalCode = static_cast <jstring>(env->GetObjectField (channelLineupObject, postalCodeFild));
166
+ JniUtfString postalCode (env, jpostalCode);
167
+ if (jpostalCode != nullptr )
168
+ {
169
+ lineupInfo.postalCode = Optional<CharSpan>(postalCode.charSpan ());
170
+ }
169
171
170
- jfieldID lineupInfoTypeFild = env->GetFieldID (channelLineupClazz, " lineupInfoType" , " I" );
171
- jint jlineupInfoType = (env->GetIntField (channelLineupObject, lineupInfoTypeFild));
172
- lineupInfo.lineupInfoType = static_cast <app::Clusters::Channel::LineupInfoTypeEnum>(jlineupInfoType);
172
+ jfieldID lineupInfoTypeFild = env->GetFieldID (channelLineupClazz, " lineupInfoType" , " I" );
173
+ jint jlineupInfoType = (env->GetIntField (channelLineupObject, lineupInfoTypeFild));
174
+ lineupInfo.lineupInfoType = static_cast <app::Clusters::Channel::LineupInfoTypeEnum>(jlineupInfoType);
173
175
174
- err = aEncoder.Encode (lineupInfo);
176
+ err = aEncoder.Encode (lineupInfo);
177
+ }
178
+ else
179
+ {
180
+ err = aEncoder.EncodeNull ();
181
+ }
175
182
}
176
183
177
184
exit :
@@ -195,41 +202,49 @@ CHIP_ERROR ChannelManager::HandleGetCurrentChannel(AttributeValueEncoder & aEnco
195
202
196
203
{
197
204
jobject channelInfoObject = env->CallObjectMethod (mChannelManagerObject , mGetCurrentChannelMethod );
198
- jclass channelClass = env->GetObjectClass (channelInfoObject);
199
-
200
- jfieldID getCallSignField = env->GetFieldID (channelClass, " callSign" , " Ljava/lang/String;" );
201
- jstring jcallSign = static_cast <jstring>(env->GetObjectField (channelInfoObject, getCallSignField));
202
- JniUtfString callsign (env, jcallSign);
203
- if (jcallSign != nullptr )
205
+ if (channelInfoObject != nullptr )
204
206
{
205
- channelInfo.callSign = Optional<CharSpan>(callsign.charSpan ());
206
- }
207
+ jclass channelClass = env->GetObjectClass (channelInfoObject);
207
208
208
- jfieldID getNameField = env->GetFieldID (channelClass, " name " , " Ljava/lang/String;" );
209
- jstring jname = static_cast <jstring>(env->GetObjectField (channelInfoObject, getNameField ));
210
- JniUtfString name (env, jname );
211
- if (jname != nullptr )
212
- {
213
- channelInfo.name = Optional<CharSpan>(name .charSpan ());
214
- }
209
+ jfieldID getCallSignField = env->GetFieldID (channelClass, " callSign " , " Ljava/lang/String;" );
210
+ jstring jcallSign = static_cast <jstring>(env->GetObjectField (channelInfoObject, getCallSignField ));
211
+ JniUtfString callsign (env, jcallSign );
212
+ if (jcallSign != nullptr )
213
+ {
214
+ channelInfo.callSign = Optional<CharSpan>(callsign .charSpan ());
215
+ }
215
216
216
- jfieldID getJaffiliateCallSignField = env->GetFieldID (channelClass, " affiliateCallSign" , " Ljava/lang/String;" );
217
- jstring jaffiliateCallSign = static_cast <jstring>(env->GetObjectField (channelInfoObject, getJaffiliateCallSignField));
218
- JniUtfString affiliateCallSign (env, jaffiliateCallSign);
219
- if (jaffiliateCallSign != nullptr )
220
- {
221
- channelInfo.affiliateCallSign = Optional<CharSpan>(affiliateCallSign.charSpan ());
222
- }
217
+ jfieldID getNameField = env->GetFieldID (channelClass, " name" , " Ljava/lang/String;" );
218
+ jstring jname = static_cast <jstring>(env->GetObjectField (channelInfoObject, getNameField));
219
+ JniUtfString name (env, jname);
220
+ if (jname != nullptr )
221
+ {
222
+ channelInfo.name = Optional<CharSpan>(name.charSpan ());
223
+ }
224
+
225
+ jfieldID getJaffiliateCallSignField = env->GetFieldID (channelClass, " affiliateCallSign" , " Ljava/lang/String;" );
226
+ jstring jaffiliateCallSign = static_cast <jstring>(env->GetObjectField (channelInfoObject, getJaffiliateCallSignField));
227
+ JniUtfString affiliateCallSign (env, jaffiliateCallSign);
228
+ if (jaffiliateCallSign != nullptr )
229
+ {
230
+ channelInfo.affiliateCallSign = Optional<CharSpan>(affiliateCallSign.charSpan ());
231
+ }
223
232
224
- jfieldID majorNumField = env->GetFieldID (channelClass, " majorNumber" , " I" );
225
- jint jmajorNum = env->GetIntField (channelInfoObject, majorNumField);
226
- channelInfo.majorNumber = static_cast <uint16_t >(jmajorNum);
233
+ jfieldID majorNumField = env->GetFieldID (channelClass, " majorNumber" , " I" );
234
+ jint jmajorNum = env->GetIntField (channelInfoObject, majorNumField);
235
+ channelInfo.majorNumber = static_cast <uint16_t >(jmajorNum);
227
236
228
- jfieldID minorNumField = env->GetFieldID (channelClass, " minorNumber" , " I" );
229
- jint jminorNum = env->GetIntField (channelInfoObject, minorNumField);
230
- channelInfo.minorNumber = static_cast <uint16_t >(jminorNum);
237
+ jfieldID minorNumField = env->GetFieldID (channelClass, " minorNumber" , " I" );
238
+ jint jminorNum = env->GetIntField (channelInfoObject, minorNumField);
239
+ channelInfo.minorNumber = static_cast <uint16_t >(jminorNum);
231
240
232
- err = aEncoder.Encode (channelInfo);
241
+ err = aEncoder.Encode (channelInfo);
242
+ }
243
+ else
244
+ {
245
+ err = aEncoder.EncodeNull ();
246
+ return err;
247
+ }
233
248
}
234
249
235
250
exit :
0 commit comments