Add contextual card feedback email mechanism.
When users dismiss a card, ask them for feedback. Bug: 113783548 Test: robotests Change-Id: I4f53f89ff8377b0dae8c1fc13c6e474456f90c2f
This commit is contained in:
@@ -17,11 +17,16 @@
|
||||
package com.android.settings.homepage.contextualcards.slices;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.android.settings.homepage.contextualcards.CardContentProvider;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
import com.android.settings.R;
|
||||
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.ContextualCardFeedbackDialog;
|
||||
import com.android.settings.homepage.contextualcards.ContextualCardUpdateListener;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
|
||||
@@ -32,7 +37,8 @@ public class SliceContextualCardController implements ContextualCardController {
|
||||
|
||||
private static final String TAG = "SliceCardController";
|
||||
|
||||
private Context mContext;
|
||||
private final Context mContext;
|
||||
|
||||
private ContextualCardUpdateListener mCardUpdateListener;
|
||||
|
||||
public SliceContextualCardController(Context context) {
|
||||
@@ -51,7 +57,7 @@ public class SliceContextualCardController implements ContextualCardController {
|
||||
|
||||
@Override
|
||||
public void onActionClick(ContextualCard card) {
|
||||
//TODO(b/113783548): Implement feedback mechanism
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -60,10 +66,30 @@ public class SliceContextualCardController implements ContextualCardController {
|
||||
final CardDatabaseHelper dbHelper = CardDatabaseHelper.getInstance(mContext);
|
||||
dbHelper.markContextualCardAsDismissed(mContext, card.getName());
|
||||
});
|
||||
showFeedbackDialog(card);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCardUpdateListener(ContextualCardUpdateListener listener) {
|
||||
mCardUpdateListener = listener;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
void showFeedbackDialog(ContextualCard card) {
|
||||
final String email = mContext.getString(R.string.config_contextual_card_feedback_email);
|
||||
if (TextUtils.isEmpty(email)) {
|
||||
return;
|
||||
}
|
||||
final Intent feedbackIntent = new Intent(mContext, ContextualCardFeedbackDialog.class);
|
||||
feedbackIntent.putExtra(ContextualCardFeedbackDialog.EXTRA_CARD_NAME,
|
||||
getSimpleCardName(card));
|
||||
feedbackIntent.putExtra(ContextualCardFeedbackDialog.EXTRA_FEEDBACK_EMAIL, email);
|
||||
feedbackIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
mContext.startActivity(feedbackIntent);
|
||||
}
|
||||
|
||||
private String getSimpleCardName(ContextualCard card) {
|
||||
final String[] split = card.getName().split("/");
|
||||
return split[split.length - 1];
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user