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
This commit is contained in:
Chaohui Wang
2022-10-19 15:57:50 +08:00
parent b036cfabd6
commit b752c3d058
2 changed files with 4 additions and 3 deletions

View File

@@ -19,6 +19,8 @@ package com.android.settings.applications;
import android.annotation.UserIdInt; import android.annotation.UserIdInt;
import android.content.Intent; import android.content.Intent;
import androidx.annotation.NonNull;
import java.util.List; import java.util.List;
import java.util.Set; 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 * Returns a user readable text explaining how much time user has spent in an app at a
* pre-specified duration. * pre-specified duration.
*/ */
@NonNull
default CharSequence getTimeSpentInApp(String packageName) { default CharSequence getTimeSpentInApp(String packageName) {
return null; return "";
} }
/** /**

View File

@@ -35,13 +35,11 @@ import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4 import androidx.test.ext.junit.runners.AndroidJUnit4
import com.android.settings.R import com.android.settings.R
import com.android.settings.testutils.FakeFeatureFactory import com.android.settings.testutils.FakeFeatureFactory
import com.android.settingslib.spaprivileged.framework.common.storageStatsManager
import org.junit.Before import org.junit.Before
import org.junit.Rule import org.junit.Rule
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.mockito.Mock import org.mockito.Mock
import org.mockito.Mockito
import org.mockito.Mockito.any import org.mockito.Mockito.any
import org.mockito.Mockito.anyInt import org.mockito.Mockito.anyInt
import org.mockito.Spy import org.mockito.Spy