summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMartin Hibdon <mhibdon@google.com>2014-09-30 09:34:11 -0700
committerMartin Hibdon <mhibdon@google.com>2014-09-30 15:53:19 -0700
commita00a413f293b73b8b6d16c0707d08f881fd92e1c (patch)
tree34ddf1ed1330ec7a38d6f5ac2d82ffcd53d21028 /src
parentfb2ed0163ce3b366f892dca5128b25d59bab2886 (diff)
downloadandroid_packages_apps_UnifiedEmail-a00a413f293b73b8b6d16c0707d08f881fd92e1c.tar.gz
android_packages_apps_UnifiedEmail-a00a413f293b73b8b6d16c0707d08f881fd92e1c.tar.bz2
android_packages_apps_UnifiedEmail-a00a413f293b73b8b6d16c0707d08f881fd92e1c.zip
Don't show ExtraOption1 unless the application overrides optionHandler
b/17040185 AttachmentActionHandler now takes an additional parameter for the accountType. ExtraOption1 is only enabled if the application override optionHandler allows it. Change-Id: I4984e6cb020912cdaf807534a8c4de6ebed07c1c
Diffstat (limited to 'src')
-rw-r--r--src/com/android/mail/browse/AttachmentActionHandler.java7
-rw-r--r--src/com/android/mail/browse/MessageAttachmentBar.java3
-rw-r--r--src/com/android/mail/photo/MailPhotoViewActivity.java26
-rw-r--r--src/com/android/mail/photo/MailPhotoViewController.java11
-rw-r--r--src/com/android/mail/ui/AttachmentTileGrid.java2
5 files changed, 29 insertions, 20 deletions
diff --git a/src/com/android/mail/browse/AttachmentActionHandler.java b/src/com/android/mail/browse/AttachmentActionHandler.java
index 073de9d05..ee569a650 100644
--- a/src/com/android/mail/browse/AttachmentActionHandler.java
+++ b/src/com/android/mail/browse/AttachmentActionHandler.java
@@ -254,8 +254,9 @@ public class AttachmentActionHandler {
sOptionHandler = handler;
}
- public boolean shouldShowExtraOption1(String mimeType) {
- return (sOptionHandler != null) && sOptionHandler.shouldShowExtraOption1(mimeType);
+ public boolean shouldShowExtraOption1(final String accountType, final String mimeType) {
+ return (sOptionHandler != null) && sOptionHandler.shouldShowExtraOption1(
+ accountType, mimeType);
}
public void handleOption1() {
@@ -274,7 +275,7 @@ public class AttachmentActionHandler {
*/
public static class OptionHandler {
- public boolean shouldShowExtraOption1(String mimeType) {
+ public boolean shouldShowExtraOption1(String accountType, String mimeType) {
return false;
}
diff --git a/src/com/android/mail/browse/MessageAttachmentBar.java b/src/com/android/mail/browse/MessageAttachmentBar.java
index 2debc1385..0274d6651 100644
--- a/src/com/android/mail/browse/MessageAttachmentBar.java
+++ b/src/com/android/mail/browse/MessageAttachmentBar.java
@@ -313,7 +313,8 @@ public class MessageAttachmentBar extends FrameLayout implements OnClickListener
private boolean shouldShowExtraOption1() {
return !mHideExtraOptionOne &&
- mActionHandler.shouldShowExtraOption1(mAttachment.getContentType());
+ mActionHandler.shouldShowExtraOption1(mAccount.getType(),
+ mAttachment.getContentType());
}
private boolean shouldShowOverflow() {
diff --git a/src/com/android/mail/photo/MailPhotoViewActivity.java b/src/com/android/mail/photo/MailPhotoViewActivity.java
index 88807d5cb..26c6576b3 100644
--- a/src/com/android/mail/photo/MailPhotoViewActivity.java
+++ b/src/com/android/mail/photo/MailPhotoViewActivity.java
@@ -34,6 +34,7 @@ public class MailPhotoViewActivity extends PhotoViewActivity implements
MailPhotoViewController.ActivityInterface {
static final String EXTRA_ACCOUNT = MailPhotoViewActivity.class.getName() + "-acct";
+ static final String EXTRA_ACCOUNT_TYPE = MailPhotoViewActivity.class.getName() + "-accttype";
static final String EXTRA_MESSAGE = MailPhotoViewActivity.class.getName() + "-msg";
static final String EXTRA_HIDE_EXTRA_OPTION_ONE =
MailPhotoViewActivity.class.getName() + "-hide-extra-option-one";
@@ -41,10 +42,14 @@ public class MailPhotoViewActivity extends PhotoViewActivity implements
/**
* Start a new MailPhotoViewActivity to view the given images.
*
- * @param photoIndex The index of the photo to show first.
+ * @param context The context.
+ * @param account The email address of the account.
+ * @param accountType The type of the account.
+ * @param msg The text of the message for this photo.
+ * @param photoIndex The index of the photo within the album.
*/
public static void startMailPhotoViewActivity(final Context context, final String account,
- final ConversationMessage msg, final int photoIndex) {
+ final String accountType, final ConversationMessage msg, final int photoIndex) {
final Intents.PhotoViewIntentBuilder builder =
Intents.newPhotoViewIntentBuilder(context,
"com.android.mail.photo.MailPhotoViewActivity");
@@ -53,7 +58,7 @@ public class MailPhotoViewActivity extends PhotoViewActivity implements
.setProjection(UIProvider.ATTACHMENT_PROJECTION)
.setPhotoIndex(photoIndex);
- context.startActivity(wrapIntent(builder.build(), account, msg));
+ context.startActivity(wrapIntent(builder.build(), account, accountType, msg));
}
/**
@@ -62,14 +67,15 @@ public class MailPhotoViewActivity extends PhotoViewActivity implements
* @param initialPhotoUri The uri of the photo to show first.
*/
public static void startMailPhotoViewActivity(final Context context, final String account,
- final ConversationMessage msg, final String initialPhotoUri) {
+ final String accountType, final ConversationMessage msg, final String initialPhotoUri) {
context.startActivity(
- buildMailPhotoViewActivityIntent(context, account, msg, initialPhotoUri));
+ buildMailPhotoViewActivityIntent(context, account, accountType, msg,
+ initialPhotoUri));
}
public static Intent buildMailPhotoViewActivityIntent(
- final Context context, final String account, final ConversationMessage msg,
- final String initialPhotoUri) {
+ final Context context, final String account, final String accountType,
+ final ConversationMessage msg, final String initialPhotoUri) {
final Intents.PhotoViewIntentBuilder builder = Intents.newPhotoViewIntentBuilder(
context, "com.android.mail.photo.MailPhotoViewActivity");
@@ -77,13 +83,15 @@ public class MailPhotoViewActivity extends PhotoViewActivity implements
.setProjection(UIProvider.ATTACHMENT_PROJECTION)
.setInitialPhotoUri(initialPhotoUri);
- return wrapIntent(builder.build(), account, msg);
+ return wrapIntent(builder.build(), account, accountType, msg);
}
private static Intent wrapIntent(
- final Intent intent, final String account, final ConversationMessage msg) {
+ final Intent intent, final String account, final String accountType,
+ final ConversationMessage msg) {
intent.putExtra(EXTRA_MESSAGE, msg);
intent.putExtra(EXTRA_ACCOUNT, account);
+ intent.putExtra(EXTRA_ACCOUNT_TYPE, accountType);
intent.putExtra(EXTRA_HIDE_EXTRA_OPTION_ONE, msg.getConversation() == null);
return intent;
}
diff --git a/src/com/android/mail/photo/MailPhotoViewController.java b/src/com/android/mail/photo/MailPhotoViewController.java
index 4945c6b80..28a88deb7 100644
--- a/src/com/android/mail/photo/MailPhotoViewController.java
+++ b/src/com/android/mail/photo/MailPhotoViewController.java
@@ -68,6 +68,7 @@ public class MailPhotoViewController extends PhotoViewController {
private static final String LOG_TAG = LogTag.getLogTag();
+ private String mAccountType;
private MenuItem mSaveItem;
private MenuItem mSaveAllItem;
private MenuItem mShareItem;
@@ -97,6 +98,7 @@ public class MailPhotoViewController extends PhotoViewController {
mActionHandler.initialize(mMailActivity.getFragmentManager());
final Intent intent = mMailActivity.getIntent();
+ mAccountType = intent.getStringExtra(MailPhotoViewActivity.EXTRA_ACCOUNT_TYPE);
final String account = intent.getStringExtra(MailPhotoViewActivity.EXTRA_ACCOUNT);
final Message msg = intent.getParcelableExtra(MailPhotoViewActivity.EXTRA_MESSAGE);
mHideExtraOptionOne = intent.getBooleanExtra(
@@ -176,12 +178,9 @@ public class MailPhotoViewController extends PhotoViewController {
mShareItem.setEnabled(canShare);
mPrintItem.setEnabled(canShare);
mDownloadAgainItem.setEnabled(attachment.canSave() && attachment.isDownloading());
- if (mHideExtraOptionOne) {
- mExtraOption1Item.setVisible(false);
- } else {
- mExtraOption1Item.setEnabled(
- mActionHandler.shouldShowExtraOption1(attachment.getContentType()));
- }
+ mExtraOption1Item.setVisible(!mHideExtraOptionOne &&
+ mActionHandler.shouldShowExtraOption1(mAccountType,
+ attachment.getContentType()));
} else {
if (mMenu != null) {
mMenu.setGroupEnabled(R.id.photo_view_menu_group, false);
diff --git a/src/com/android/mail/ui/AttachmentTileGrid.java b/src/com/android/mail/ui/AttachmentTileGrid.java
index 5b1e76f95..76df2a57e 100644
--- a/src/com/android/mail/ui/AttachmentTileGrid.java
+++ b/src/com/android/mail/ui/AttachmentTileGrid.java
@@ -114,7 +114,7 @@ public class AttachmentTileGrid extends FrameLayout implements AttachmentPreview
final int photoIndex = indexOfChild(source);
MailPhotoViewActivity.startMailPhotoViewActivity(getContext(), mAccount.getEmailAddress(),
- mMessage, photoIndex);
+ mAccount.getType(), mMessage, photoIndex);
}
@Override