Home | History | Annotate | Download | only in ui
      1 package com.android.mail.ui;
      2 
      3 import android.content.Context;
      4 
      5 import com.android.mail.R;
      6 import com.android.mail.analytics.Analytics;
      7 import com.android.mail.browse.ConversationCursor;
      8 import com.android.mail.preferences.MailPrefs;
      9 import com.android.mail.providers.Folder;
     10 
     11 /**
     12  * A teaser to introduce people to the contact photo check boxes
     13  */
     14 public class ConversationPhotoTeaserView extends ConversationTipView {
     15     private final MailPrefs mMailPrefs;
     16     private boolean mShown;
     17 
     18     public ConversationPhotoTeaserView(final Context context) {
     19         super(context);
     20 
     21         mMailPrefs = MailPrefs.get(context);
     22         setText(getResources().getString(R.string.conversation_photo_welcome_text));
     23     }
     24 
     25     @Override
     26     protected ImageAttrSet getStartIconAttr() {
     27         return new ImageAttrSet(R.drawable.ic_check_24dp,
     28                 R.drawable.conversation_photo_teaser_checkmark_bg, null);
     29     }
     30 
     31     @Override
     32     public void onUpdate(Folder folder, ConversationCursor cursor) {
     33         mShown = checkWhetherToShow();
     34     }
     35 
     36     @Override
     37     public boolean getShouldDisplayInList() {
     38         // show if 1) sender images are enabled 2) there are items
     39         mShown = checkWhetherToShow();
     40         return mShown;
     41     }
     42 
     43     private boolean checkWhetherToShow() {
     44         // show if 1) sender images are disabled 2) there are items
     45         return shouldShowSenderImage() && !mAdapter.isEmpty()
     46                 && !mMailPrefs.isConversationPhotoTeaserAlreadyShown();
     47     }
     48 
     49     @Override
     50     public void onCabModeEntered() {
     51         if (mShown) {
     52             dismiss();
     53         }
     54     }
     55 
     56     @Override
     57     public void dismiss() {
     58         if (mShown) {
     59             mMailPrefs.setConversationPhotoTeaserAlreadyShown();
     60             mShown = false;
     61             Analytics.getInstance().sendEvent("list_swipe", "photo_teaser", null, 0);
     62         }
     63         super.dismiss();
     64     }
     65 
     66     protected boolean shouldShowSenderImage() {
     67         return mMailPrefs.getShowSenderImages();
     68     }
     69 }
     70