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.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 "";
}
/**

View File

@@ -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