| /* |
| * Copyright (C) 2008 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package android.accounts; |
| |
| import android.content.Intent; |
| |
| /** |
| * Miscellaneous constants used by the AccountsService and its |
| * clients. |
| */ |
| // TODO: These constants *could* come directly from the |
| // IAccountsService interface, but that's not possible since the |
| // aidl compiler doesn't let you define constants (yet.) |
| public class AccountsServiceConstants { |
| /** This class is never instantiated. */ |
| private AccountsServiceConstants() { |
| } |
| |
| /** |
| * Action sent as a broadcast Intent by the AccountsService |
| * when accounts are added to and/or removed from the device's |
| * database, or when the primary account is changed. |
| */ |
| public static final String LOGIN_ACCOUNTS_CHANGED_ACTION = |
| "android.accounts.LOGIN_ACCOUNTS_CHANGED"; |
| |
| /** |
| * Action sent as a broadcast Intent by the AccountsService |
| * when it starts up and no accounts are available (so some should be added). |
| */ |
| public static final String LOGIN_ACCOUNTS_MISSING_ACTION = |
| "android.accounts.LOGIN_ACCOUNTS_MISSING"; |
| |
| /** |
| * Action on the intent used to bind to the IAccountsService interface. This |
| * is used for services that have multiple interfaces (allowing |
| * them to differentiate the interface intended, and return the proper |
| * Binder.) |
| */ |
| private static final String ACCOUNTS_SERVICE_ACTION = "android.accounts.IAccountsService"; |
| |
| /* |
| * The intent uses a component in addition to the action to ensure the actual |
| * accounts service is bound to (a malicious third-party app could |
| * theoretically have a service with the same action). |
| */ |
| /** The intent used to bind to the accounts service. */ |
| public static final Intent SERVICE_INTENT = |
| new Intent() |
| .setClassName("com.google.android.googleapps", |
| "com.google.android.googleapps.GoogleLoginService") |
| .setAction(ACCOUNTS_SERVICE_ACTION); |
| |
| /** |
| * Checks whether the intent is to bind to the accounts service. |
| * |
| * @param bindIntent The Intent used to bind to the service. |
| * @return Whether the intent is to bind to the accounts service. |
| */ |
| public static final boolean isForAccountsService(Intent bindIntent) { |
| String otherAction = bindIntent.getAction(); |
| return otherAction != null && otherAction.equals(ACCOUNTS_SERVICE_ACTION); |
| } |
| } |