Adjust timeout limit of contextual card loading

Add a way to get the timeout limit of contextual card loading from
Settings.Global. If Settings.Global doesn't have the timeout limit, will
use the default timeout limit.

Bug: 124460999
Test: robotests
Change-Id: I2a25570f51013b566914e485d61405f14290d338
This commit is contained in:
Mill Chen
2019-03-04 11:35:39 +08:00
parent be15baa155
commit 3c50f4467a
3 changed files with 36 additions and 4 deletions

View File

@@ -31,6 +31,7 @@ import static org.mockito.Mockito.verify;
import android.content.Context;
import android.net.Uri;
import android.provider.Settings;
import android.util.ArrayMap;
import com.android.settings.homepage.contextualcards.conditional.ConditionFooterContextualCard;
@@ -125,6 +126,24 @@ public class ContextualCardManagerTest {
.isEqualTo(ContextualCard.CardType.CONDITIONAL_FOOTER);
}
@Test
public void getCardLoaderTimeout_noConfiguredTimeout_shouldReturnDefaultTimeout() {
final long timeout = mManager.getCardLoaderTimeout(mContext);
assertThat(timeout).isEqualTo(ContextualCardManager.CARD_CONTENT_LOADER_TIMEOUT_MS);
}
@Test
public void getCardLoaderTimeout_hasConfiguredTimeout_shouldReturnConfiguredTimeout() {
final long configuredTimeout = 5000L;
Settings.Global.putLong(mContext.getContentResolver(),
ContextualCardManager.KEY_GLOBAL_CARD_LOADER_TIMEOUT, configuredTimeout);
final long timeout = mManager.getCardLoaderTimeout(mContext);
assertThat(timeout).isEqualTo(configuredTimeout);
}
@Test
public void onFinishCardLoading_fastLoad_shouldCallOnContextualCardUpdated() {
mManager.mStartTime = System.currentTimeMillis();