summaryrefslogtreecommitdiffstats
path: root/emailcommon
diff options
context:
space:
mode:
authorAlon Albert <aalbert@google.com>2013-09-27 17:14:49 -0700
committerAlon Albert <aalbert@google.com>2013-09-27 17:52:48 -0700
commitc4d139c4f4d924eae0307e8349ae977441dabbed (patch)
tree7e013143f1b601e2ec03a32fe4029a5eac863b21 /emailcommon
parent386c8ccbf9e44a327ce0a58afe08859809fa0d30 (diff)
downloadandroid_packages_apps_Email-c4d139c4f4d924eae0307e8349ae977441dabbed.tar.gz
android_packages_apps_Email-c4d139c4f4d924eae0307e8349ae977441dabbed.tar.bz2
android_packages_apps_Email-c4d139c4f4d924eae0307e8349ae977441dabbed.zip
Auth Notification
Some changes that allow a notification to open Account Settings for a specific account Bug: 10930585 Change-Id: Ib329e339b405ccbc0631d5ce6a23bf8fa6d62b83
Diffstat (limited to 'emailcommon')
-rw-r--r--emailcommon/src/com/android/emailcommon/utility/IntentUtilities.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/emailcommon/src/com/android/emailcommon/utility/IntentUtilities.java b/emailcommon/src/com/android/emailcommon/utility/IntentUtilities.java
index d38caad46..bd1c01304 100644
--- a/emailcommon/src/com/android/emailcommon/utility/IntentUtilities.java
+++ b/emailcommon/src/com/android/emailcommon/utility/IntentUtilities.java
@@ -24,11 +24,15 @@ import android.net.Uri;
import android.text.TextUtils;
public final class IntentUtilities {
+
+ public static final String PATH_SETTINGS = "settings";
+
// Format for activity URIs: content://ui.email.android.com/...
private static final String ACTIVITY_INTENT_SCHEME = "content";
private static final String ACTIVITY_INTENT_HOST = "ui.email.android.com";
private static final String ACCOUNT_ID_PARAM = "ACCOUNT_ID";
+ private static final String ACCOUNT_NAME_PARAM = "ACCOUNT_NAME";
private static final String MAILBOX_ID_PARAM = "MAILBOX_ID";
private static final String MESSAGE_ID_PARAM = "MESSAGE_ID";
private static final String ACCOUNT_UUID_PARAM = "ACCOUNT_UUID";
@@ -57,6 +61,15 @@ public final class IntentUtilities {
}
/**
+ * Add the account name parameter.
+ */
+ public static void setAccountName(Uri.Builder b, String accountName) {
+ if (accountName != null) {
+ b.appendQueryParameter(ACCOUNT_NAME_PARAM, accountName);
+ }
+ }
+
+ /**
* Add the mailbox ID parameter.
*/
public static void setMailboxId(Uri.Builder b, long mailboxId) {
@@ -92,6 +105,13 @@ public final class IntentUtilities {
}
/**
+ * Retrieve the account name.
+ */
+ public static String getAccountNameFromIntent(Intent intent) {
+ return getStringFromIntent(intent, ACCOUNT_NAME_PARAM);
+ }
+
+ /**
* Retrieve the mailbox ID.
*/
public static long getMailboxIdFromIntent(Intent intent) {
@@ -125,6 +145,14 @@ public final class IntentUtilities {
return value;
}
+ private static String getStringFromIntent(Intent intent, String paramName) {
+ String value = null;
+ if (intent.getData() != null) {
+ value = getStringParamFromUri(intent.getData(), paramName, null);
+ }
+ return value;
+ }
+
private static long getLongParamFromUri(Uri uri, String paramName, long defaultValue) {
final String value = uri.getQueryParameter(paramName);
if (!TextUtils.isEmpty(value)) {
@@ -137,6 +165,14 @@ public final class IntentUtilities {
return defaultValue;
}
+ private static String getStringParamFromUri(Uri uri, String paramName, String defaultValue) {
+ final String value = uri.getQueryParameter(paramName);
+ if (value == null) {
+ return defaultValue;
+ }
+ return value;
+ }
+
/**
* Create an {@link Intent} to launch an activity as the main entry point. Existing activities
* will all be closed.