From b752c3d058c7d1cc550995edc889fec13a5b7562 Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Wed, 19 Oct 2022 15:57:50 +0800 Subject: [PATCH] Make the default getTimeSpentInApp() return empty Current ApplicationFeatureProvider.getTimeSpentInApp() defaults returns null, in extreme case there is ACTION_APP_USAGE_SETTINGS handler on device but getTimeSpentInApp() still returns null, may lead AppTimeSpentPreference to crash. Make it returns empty string instead to eliminate this extreme case. Bug: 236346018 Test: Unit test & Manual with SpaActivity Change-Id: I33b413ceb9bdf48e3902e02c91fab617fe297862 --- .../settings/applications/ApplicationFeatureProvider.java | 5 ++++- .../settings/spa/app/appinfo/AppTimeSpentPreferenceTest.kt | 2 -- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/applications/ApplicationFeatureProvider.java b/src/com/android/settings/applications/ApplicationFeatureProvider.java index e9f877e79bf..8a9f000f769 100644 --- a/src/com/android/settings/applications/ApplicationFeatureProvider.java +++ b/src/com/android/settings/applications/ApplicationFeatureProvider.java @@ -19,6 +19,8 @@ package com.android.settings.applications; import android.annotation.UserIdInt; import android.content.Intent; +import androidx.annotation.NonNull; + import java.util.List; import java.util.Set; @@ -85,8 +87,9 @@ public interface ApplicationFeatureProvider { * Returns a user readable text explaining how much time user has spent in an app at a * pre-specified duration. */ + @NonNull default CharSequence getTimeSpentInApp(String packageName) { - return null; + return ""; } /** diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreferenceTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreferenceTest.kt index 56ba33a1c40..1842b831c51 100644 --- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreferenceTest.kt +++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreferenceTest.kt @@ -35,13 +35,11 @@ import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 import com.android.settings.R import com.android.settings.testutils.FakeFeatureFactory -import com.android.settingslib.spaprivileged.framework.common.storageStatsManager import org.junit.Before import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mock -import org.mockito.Mockito import org.mockito.Mockito.any import org.mockito.Mockito.anyInt import org.mockito.Spy