/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the Common Development
* and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at
* src/com/vodafone360/people/VODAFONE.LICENSE.txt or
* http://github.com/360/360-Engine-for-Android
* See the License for the specific language governing permissions and
* limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each file and
* include the License file at src/com/vodafone360/people/VODAFONE.LICENSE.txt.
* If applicable, add the following below this CDDL HEADER, with the fields
* enclosed by brackets "[]" replaced with your own identifying information:
* Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*
* Copyright 2010 Vodafone Sales & Services Ltd. All rights reserved.
* Use is subject to license terms.
*/
package com.vodafone360.people.service;
/**
* The list of requests that the People Client UI can issue to the People Client
* service. These requests are handled by the appropriate engine.
*/
public enum ServiceUiRequest {
/*
* UiAgent: Each request is an unsolicited message sent to the UI via the
* UiAgent. Requests with a higher priority can overwrite lower priority
* requests waiting in the UiAgent queue.
*/
/** HIGH PRIRITY: Go to landing page, explain why in the Bundle. **/
UNSOLICITED_GO_TO_LANDING_PAGE,
UI_REQUEST_COMPLETE,
DATABASE_CHANGED_EVENT,
SETTING_CHANGED_EVENT,
/** Update in the terms and conditions or privacy text. **/
TERMS_CHANGED_EVENT,
/***
* Update the contact sync progress bar, currently used only in the
* SyncingYourAddressBookActivity.
*/
UPDATE_SYNC_STATE,
UNSOLICITED_CHAT,
UNSOLICITED_PRESENCE,
UNSOLICITED_CHAT_ERROR,
UNSOLICITED_CHAT_ERROR_REFRESH,
UNSOLICITED_PRESENCE_ERROR,
/** LOW PRIORITY Show the upgrade dialog. **/
UNSOLICITED_DIALOG_UPGRADE,
/*
* Non-UiAgent: Each request is handled by a specific Engine.
*/
/**
* Login to existing account, handled by LoginEngine.
*
* @see com.vodafone360.people.engine.login.LoginEngine
*/
LOGIN,
/**
* Sign-up a new account, handled by LoginEngine.
*
* @see com.vodafone360.people.engine.login.LoginEngine
*/
REGISTRATION,
/**
* Fetch user-name availability state, handled by LoginEngine.
*
* @see com.vodafone360.people.engine.login.LoginEngine
*/
USERNAME_AVAILABILITY,
/**
* Handled by LoginEngine.
*
* @see com.vodafone360.people.engine.login.LoginEngine
*/
FETCH_TERMS_OF_SERVICE,
/**
* Handled by LoginEngine.
*
* @see com.vodafone360.people.engine.login.LoginEngine
*/
FETCH_PRIVACY_STATEMENT,
/**
* Fetch list of available 3rd party accounts, handled by IdentitiesEngine.
*
* @see com.vodafone360.people.engine.identitys.IdentityEngine
*/
GET_AVAILABLE_IDENTITIES,
/**
* Validate credentials for specified 3rd party account, handled by
* IdentitiesEngine.
*
* @see com.vodafone360.people.engine.identitys.IdentityEngine
*/
VALIDATE_IDENTITY_CREDENTIALS,
/**
* Set required capabilities for specified 3rd party account, handled by
* IdentitiesEngine.
*
* @see com.vodafone360.people.engine.identitys.IdentityEngine
*/
SET_IDENTITY_CAPABILITY_STATUS,
/**
* Get list of 3rd party accounts for current user, handled by
* IdentitiesEngine.
*
* @see com.vodafone360.people.engine.identitys.IdentityEngine
*/
GET_MY_IDENTITIES,
/**
* Get list of 3rd party accounts for current user that support chat,
* handled by IdentitiesEngine.
*
* @see com.vodafone360.people.engine.identitys.IdentityEngine
*/
GET_MY_CHATABLE_IDENTITIES,
/**
* Fetch older activities from Server, handled by ActivitiesEngine.
*
* @see com.vodafone360.people.engine.activities.ActivitiesEngine
*/
FETCH_STATUSES,
/**
* Fetch latest statuses from Server ("refresh" button, or push event),
* handled by ActivitiesEngine.
*
* @see com.vodafone360.people.engine.identitys.AvtivitiesEngine
*/
UPDATE_STATUSES,
/**
* Fetch timelines from the native (invoked by "show older" button)
*
* @see com.vodafone360.people.engine.identitys.AvtivitiesEngine
*/
FETCH_TIMELINES,
/**
* Update the timeline list (invoked by NAB event)
*
* @see com.vodafone360.people.engine.identitys.AvtivitiesEngine
*/
UPDATE_PHONE_CALLS,
/**
* Update the phone calls in the list of timelines (invoked by NAB event)
*
* @see com.vodafone360.people.engine.identitys.AvtivitiesEngine
*/
UPDATE_SMS,
/**
* Update the SMSs in the list of timelines (invoked by push event)
*
* @see com.vodafone360.people.engine.identitys.AvtivitiesEngine
*/
UPDATE_TIMELINES,
/**
* Start contacts sync, handled by ContactSyncEngine.
*
* @see com.vodafone360.people.engine.contactsync.ContactSyncEngine
*/
NOWPLUSSYNC,
/**
* Starts me profile download, handled by SyncMeEngine.
*
* @see com.vodafone360.people.engine.meprofile.SyncMeEngine
*/
GET_ME_PROFILE,
/**
* Starts me profile upload, handled by SyncMeEngine.
*
* @see com.vodafone360.people.engine.meprofile.SyncMeEngine
*/
UPDATE_ME_PROFILE,
/**
* Starts me profile status upload.
*
* @see com.vodafone360.people.engine.meprofile.SyncMeEngine
*/
UPLOAD_ME_STATUS,
/**
* Starts me profile thumbnail download, handled by SyncMeEngine.
*
* @see com.vodafone360.people.engine.meprofile.SyncMeEngine
*/
DOWNLOAD_THUMBNAIL,
/** Remove all user data. */
REMOVE_USER_DATA,
/**
* Logout from account, handled by LoginEngine. For debug/development use
* only.
*
* @see com.vodafone360.people.engine.login.LoginEngine
*/
LOGOUT,
/**
* Request UpgradeEngine to check if an updated version of application is
* available.
*
* @see com.vodafone360.people.engine.upgrade.UpgradeEngine
*/
UPGRADE_CHECK_NOW,
/**
* Set frequency for upgrade check in UpgradeEngine.
*
* @see com.vodafone360.people.engine.upgrade.UpgradeEngine
*/
UPGRADE_CHANGE_FREQUENCY,
/**
* Request list of current 'presence status'of contacts, handled by
* PresenceEngine.
*/
GET_PRESENCE_LIST,
/**
* Request to set the presence availability status.
*/
SET_MY_AVAILABILITY,
/** Start a chat conversation. */
CREATE_CONVERSATION,
/** Send chat message. */
SEND_CHAT_MESSAGE,
/**
* UI might need to display a progress bar, or other background process
* indication
**/
UPDATING_UI,
/**
* UI might need to remove a progress bar, or other background process
* indication
**/
UPDATING_UI_FINISHED,
/**
* Gets the groups for the contacts that are retrieved from the backend.
*/
GET_GROUPS,
/**
* Remove Identity.
*/
DELETE_IDENTITY,
/*
* Do not handle this message.
*/
UNKNOWN;
/***
* Get the UiEvent from a given Integer value.
*
* @param input Integer.ordinal value of the UiEvent
* @return Relevant UiEvent or UNKNOWN if the Integer is not known.
*/
public static ServiceUiRequest getUiEvent(int input) {
if (input < 0 || input > UNKNOWN.ordinal()) {
return UNKNOWN;
} else {
return ServiceUiRequest.values()[input];
}
}
}