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:
Fan Zhang
2018-12-13 04:03:28 +00:00
committed by Android (Google) Code Review
11 changed files with 55 additions and 38 deletions

View File

@@ -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);
}
}

View File

@@ -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);
}

View File

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

View File

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

View File

@@ -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() {

View File

@@ -109,7 +109,6 @@ public class ConditionContextualCardController implements ContextualCardControll
final Map<Integer, List<ContextualCard>> conditionalCards =
buildConditionalCardsWithFooterOrHeader(conditionCards);
mListener.onContextualCardUpdated(conditionalCards);
}
/**