Add contextual card dismissal implementation

When users clcik on the remove button in dismissal view, the card should
be marked as dismissed in the database, and the UI should be refreshed.

Bug: 113783548, 119594116
Test: robotests
Change-Id: I980600c4c0753ad5abc52ae63bac7196a4b818f1
This commit is contained in:
Emily Chuang
2018-11-14 14:57:35 +08:00
committed by Yi-Ling Chuang
parent 4942fd2aff
commit 1e24cb02dc
8 changed files with 159 additions and 15 deletions

View File

@@ -16,9 +16,14 @@
package com.android.settings.homepage.contextualcards.slices;
import android.content.Context;
import com.android.settings.homepage.contextualcards.CardContentProvider;
import com.android.settings.homepage.contextualcards.CardDatabaseHelper;
import com.android.settings.homepage.contextualcards.ContextualCard;
import com.android.settings.homepage.contextualcards.ContextualCardController;
import com.android.settings.homepage.contextualcards.ContextualCardUpdateListener;
import com.android.settingslib.utils.ThreadUtils;
/**
* Card controller for {@link ContextualCard} built as slices.
@@ -27,8 +32,13 @@ public class SliceContextualCardController implements ContextualCardController {
private static final String TAG = "SliceCardController";
private Context mContext;
private ContextualCardUpdateListener mCardUpdateListener;
public SliceContextualCardController(Context context) {
mContext = context;
}
@Override
public int getCardType() {
return ContextualCard.CardType.SLICE;
@@ -46,11 +56,14 @@ public class SliceContextualCardController implements ContextualCardController {
@Override
public void onDismissed(ContextualCard card) {
//TODO(b/113783548): Mark this card as dismissed in db and reload loader.
ThreadUtils.postOnBackgroundThread(() -> {
final CardDatabaseHelper dbHelper = CardDatabaseHelper.getInstance(mContext);
dbHelper.markContextualCardAsDismissed(mContext, card.getName());
});
}
@Override
public void setCardUpdateListener(ContextualCardUpdateListener listener) {
mCardUpdateListener = listener;
mCardUpdateListener = listener;
}
}