1c86b1fbcea43513ea903bb2ca14573423a72d7b5Alice Yang/* 2c86b1fbcea43513ea903bb2ca14573423a72d7b5Alice Yang * Copyright (C) 2013 The Android Open Source Project 3c86b1fbcea43513ea903bb2ca14573423a72d7b5Alice Yang * 4c86b1fbcea43513ea903bb2ca14573423a72d7b5Alice Yang * Licensed under the Apache License, Version 2.0 (the "License"); 5c86b1fbcea43513ea903bb2ca14573423a72d7b5Alice Yang * you may not use this file except in compliance with the License. 6c86b1fbcea43513ea903bb2ca14573423a72d7b5Alice Yang * You may obtain a copy of the License at 7c86b1fbcea43513ea903bb2ca14573423a72d7b5Alice Yang * 8c86b1fbcea43513ea903bb2ca14573423a72d7b5Alice Yang * http://www.apache.org/licenses/LICENSE-2.0 9c86b1fbcea43513ea903bb2ca14573423a72d7b5Alice Yang * 10c86b1fbcea43513ea903bb2ca14573423a72d7b5Alice Yang * Unless required by applicable law or agreed to in writing, software 11c86b1fbcea43513ea903bb2ca14573423a72d7b5Alice Yang * distributed under the License is distributed on an "AS IS" BASIS, 12c86b1fbcea43513ea903bb2ca14573423a72d7b5Alice Yang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13c86b1fbcea43513ea903bb2ca14573423a72d7b5Alice Yang * See the License for the specific language governing permissions and 14c86b1fbcea43513ea903bb2ca14573423a72d7b5Alice Yang * limitations under the License. 15c86b1fbcea43513ea903bb2ca14573423a72d7b5Alice Yang */ 16c86b1fbcea43513ea903bb2ca14573423a72d7b5Alice Yang 17c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yangpackage com.android.mail.ui; 18c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang 19079d02b6021c640213888d446434e2c925756e29Jin Caoimport android.content.Context; 20079d02b6021c640213888d446434e2c925756e29Jin Cao 21c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yangimport com.android.mail.R; 22042a530b2296487fa5899a3e871214ac4a47e3d8Andy Huangimport com.android.mail.analytics.Analytics; 23c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yangimport com.android.mail.browse.ConversationCursor; 24c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yangimport com.android.mail.preferences.MailPrefs; 25c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yangimport com.android.mail.providers.Folder; 26c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang 27c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang/** 28c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang * A tip to educate users about long press to enter CAB mode. Appears on top of conversation list. 29c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang */ 30079d02b6021c640213888d446434e2c925756e29Jin Caopublic class ConversationLongPressTipView extends ConversationTipView { 31c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang private final MailPrefs mMailPrefs; 32c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang private boolean mShow; 33c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang 34c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang public ConversationLongPressTipView(final Context context) { 35079d02b6021c640213888d446434e2c925756e29Jin Cao super(context); 36c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang 37c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang mMailPrefs = MailPrefs.get(context); 38079d02b6021c640213888d446434e2c925756e29Jin Cao setText(getResources().getString(R.string.long_press_to_select_tip)); 39c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang } 40c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang 41c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang @Override 420e8dc84326ad3e6d146a203538665f98dd98f688Scott Kennedy public void onUpdate(Folder folder, ConversationCursor cursor) { 43c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang mShow = checkWhetherToShow(); 44c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang } 45c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang 46c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang @Override 47c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang public boolean getShouldDisplayInList() { 48c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang mShow = checkWhetherToShow(); 49c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang return mShow; 50c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang } 51c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang 52c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang private boolean checkWhetherToShow() { 53c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang // show if 1) sender images are disabled 2) there are items 54c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang return !shouldShowSenderImage() && !mAdapter.isEmpty() 55c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang && !mMailPrefs.isLongPressToSelectTipAlreadyShown(); 56c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang } 57c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang 58c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang @Override 59c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang public void onCabModeEntered() { 60d6522ea881e80ab849f2a88565db5a6a73e7623eScott Kennedy if (mShow) { 61d6522ea881e80ab849f2a88565db5a6a73e7623eScott Kennedy dismiss(); 62d6522ea881e80ab849f2a88565db5a6a73e7623eScott Kennedy } 63c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang } 64c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang 65cc139833bc5829ba70244519e9870de783c41848Scott Kennedy @Override 66c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang public void dismiss() { 67c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang if (mShow) { 68c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang mMailPrefs.setLongPressToSelectTipAlreadyShown(); 69c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang mShow = false; 70042a530b2296487fa5899a3e871214ac4a47e3d8Andy Huang Analytics.getInstance().sendEvent("list_swipe", "long_press_tip", null, 0); 71c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang } 72079d02b6021c640213888d446434e2c925756e29Jin Cao super.dismiss(); 73c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang } 74c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang 75c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang protected boolean shouldShowSenderImage() { 76c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang return mMailPrefs.getShowSenderImages(); 77c5567737cb40ca156ea89f169a23008524ebd1a4Alice Yang } 78079d02b6021c640213888d446434e2c925756e29Jin Cao}