diff options
| author | Alon Albert <aalbert@google.com> | 2013-09-27 17:14:49 -0700 |
|---|---|---|
| committer | Alon Albert <aalbert@google.com> | 2013-09-27 17:52:48 -0700 |
| commit | c4d139c4f4d924eae0307e8349ae977441dabbed (patch) | |
| tree | 7e013143f1b601e2ec03a32fe4029a5eac863b21 /emailcommon | |
| parent | 386c8ccbf9e44a327ce0a58afe08859809fa0d30 (diff) | |
| download | android_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.java | 36 |
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. |
