Merge changes I6e73bcf9,I257ba108
* changes: Add a timeout waiting for contextual card loader. Set setting back to default when turning off dev option
This commit is contained in:
@@ -66,7 +66,7 @@ public class MobileDataAlwaysOnPreferenceController extends
|
||||
protected void onDeveloperOptionsSwitchDisabled() {
|
||||
super.onDeveloperOptionsSwitchDisabled();
|
||||
Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.MOBILE_DATA_ALWAYS_ON,
|
||||
SETTING_VALUE_OFF);
|
||||
((SwitchPreference) mPreference).setChecked(false);
|
||||
SETTING_VALUE_ON);
|
||||
((SwitchPreference) mPreference).setChecked(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,16 +24,16 @@ import java.util.List;
|
||||
public interface ContextualCardFeatureProvider {
|
||||
|
||||
/** Homepage displays. */
|
||||
public void logHomepageDisplay(Context context, Long latency);
|
||||
void logHomepageDisplay(Context context, long latency);
|
||||
|
||||
/** When user clicks dismiss in contextual card */
|
||||
public void logContextualCardDismiss(Context context, ContextualCard card);
|
||||
void logContextualCardDismiss(Context context, ContextualCard card);
|
||||
|
||||
/** After ContextualCardManager decides which cards will be displayed/hidden */
|
||||
public void logContextualCardDisplay(Context context, List<ContextualCard> showedCards,
|
||||
void logContextualCardDisplay(Context context, List<ContextualCard> showedCards,
|
||||
List<ContextualCard> hiddenCards);
|
||||
|
||||
/** When user clicks toggle/title area of a contextual card. */
|
||||
public void logContextualCardClick(Context context, ContextualCard card, int row,
|
||||
void logContextualCardClick(Context context, ContextualCard card, int row,
|
||||
int tapTarget);
|
||||
}
|
||||
|
||||
@@ -85,11 +85,10 @@ public class ContextualCardFeatureProviderImpl implements ContextualCardFeatureP
|
||||
private static final int TARGET_SLIDER = 3;
|
||||
|
||||
@Override
|
||||
public void logHomepageDisplay(Context context, Long latency) {
|
||||
final Intent intent = new Intent();
|
||||
intent.putExtra(EXTRA_CONTEXTUALCARD_ACTION_TYPE, CONTEXTUAL_HOME_SHOW);
|
||||
intent.putExtra(EXTRA_LATENCY, latency);
|
||||
sendBroadcast(context, intent);
|
||||
public void logHomepageDisplay(Context context, long latency) {
|
||||
sendBroadcast(context, new Intent()
|
||||
.putExtra(EXTRA_CONTEXTUALCARD_ACTION_TYPE, CONTEXTUAL_HOME_SHOW)
|
||||
.putExtra(EXTRA_LATENCY, latency));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -31,6 +31,7 @@ import android.database.Cursor;
|
||||
import android.net.Uri;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.text.format.DateUtils;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
@@ -49,6 +50,7 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard>
|
||||
@VisibleForTesting
|
||||
static final int DEFAULT_CARD_COUNT = 4;
|
||||
static final int CARD_CONTENT_LOADER_ID = 1;
|
||||
static final long CARD_CONTENT_LOADER_TIMEOUT_MS = DateUtils.SECOND_IN_MILLIS;
|
||||
|
||||
private static final String TAG = "ContextualCardLoader";
|
||||
|
||||
|
||||
@@ -59,12 +59,15 @@ public class ContextualCardManager implements ContextualCardLoader.CardContentLo
|
||||
ContextualCardUpdateListener {
|
||||
|
||||
private static final String TAG = "ContextualCardManager";
|
||||
|
||||
//The list for Settings Custom Card
|
||||
private static final int[] SETTINGS_CARDS =
|
||||
{ContextualCard.CardType.CONDITIONAL, ContextualCard.CardType.LEGACY_SUGGESTION};
|
||||
|
||||
@VisibleForTesting
|
||||
final List<ContextualCard> mContextualCards;
|
||||
@VisibleForTesting
|
||||
long mStartTime;
|
||||
|
||||
private final Context mContext;
|
||||
private final ControllerRendererPool mControllerRendererPool;
|
||||
@@ -72,7 +75,6 @@ public class ContextualCardManager implements ContextualCardLoader.CardContentLo
|
||||
private final List<LifecycleObserver> mLifecycleObservers;
|
||||
|
||||
private ContextualCardUpdateListener mListener;
|
||||
private long mStartTime;
|
||||
|
||||
public ContextualCardManager(Context context, Lifecycle lifecycle) {
|
||||
mContext = context;
|
||||
@@ -169,11 +171,14 @@ public class ContextualCardManager implements ContextualCardLoader.CardContentLo
|
||||
|
||||
@Override
|
||||
public void onFinishCardLoading(List<ContextualCard> cards) {
|
||||
onContextualCardUpdated(cards.stream().collect(groupingBy(ContextualCard::getCardType)));
|
||||
final long elapsedTime = System.currentTimeMillis() - mStartTime;
|
||||
final ContextualCardFeatureProvider contextualCardFeatureProvider =
|
||||
FeatureFactory.getFactory(mContext).getContextualCardFeatureProvider();
|
||||
contextualCardFeatureProvider.logHomepageDisplay(mContext, elapsedTime);
|
||||
final long loadTime = System.currentTimeMillis() - mStartTime;
|
||||
if (loadTime <= ContextualCardLoader.CARD_CONTENT_LOADER_TIMEOUT_MS) {
|
||||
onContextualCardUpdated(
|
||||
cards.stream().collect(groupingBy(ContextualCard::getCardType)));
|
||||
}
|
||||
final long totalTime = System.currentTimeMillis() - mStartTime;
|
||||
FeatureFactory.getFactory(mContext).getContextualCardFeatureProvider()
|
||||
.logHomepageDisplay(mContext, totalTime);
|
||||
}
|
||||
|
||||
public ControllerRendererPool getControllerRendererPool() {
|
||||
|
||||
@@ -109,7 +109,6 @@ public class ConditionContextualCardController implements ContextualCardControll
|
||||
final Map<Integer, List<ContextualCard>> conditionalCards =
|
||||
buildConditionalCardsWithFooterOrHeader(conditionCards);
|
||||
mListener.onContextualCardUpdated(conditionalCards);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user