Skip to content

Commit 8ce1c54

Browse files
committed
fix: Prevent null result crash in onHandleIntent (#488, #580)
- Added null checks for `ActivityRecognitionResult`, `getProbableActivities()`, and `SharedPreferences` - Prevents potential NullPointerException in `onHandleIntent` - Resolves #488, #580
1 parent c5f12c6 commit 8ce1c54

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

packages/activity_recognition_flutter/android/src/main/java/dk/cachet/activity_recognition_flutter/ActivityRecognizedService.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ protected void onHandleWork(@Nullable Intent intent) {
3333
// remove override and make onHandleIntent private.
3434
private void onHandleIntent(@Nullable Intent intent) {
3535
ActivityRecognitionResult result = ActivityRecognitionResult.extractResult(intent);
36+
if (result == null) return;
37+
3638
List<DetectedActivity> activities = result.getProbableActivities();
39+
if (activities == null || activities.isEmpty()) return;
3740

3841
DetectedActivity mostLikely = activities.get(0);
3942

@@ -54,6 +57,7 @@ private void onHandleIntent(@Nullable Intent intent) {
5457
SharedPreferences preferences =
5558
getApplicationContext().getSharedPreferences(
5659
ActivityRecognitionFlutterPlugin.ACTIVITY_RECOGNITION, MODE_PRIVATE);
60+
if (preferences == null) return;
5761

5862
preferences.edit().clear()
5963
.putString(

0 commit comments

Comments
 (0)