From 1e4807aaf4854645616814169987ad153a70b5ff Mon Sep 17 00:00:00 2001 From: Wei Huang Date: Wed, 29 Jul 2009 18:50:00 -0700 Subject: new s2d ids table for rmq2; plus Gservices setting for using rmq2 protocol. --- core/java/android/provider/Im.java | 80 ++++++++++++++++++++++---------- core/java/android/provider/Settings.java | 38 ++++++++++----- 2 files changed, 81 insertions(+), 37 deletions(-) diff --git a/core/java/android/provider/Im.java b/core/java/android/provider/Im.java index a05413290f9f..b11abe844daf 100644 --- a/core/java/android/provider/Im.java +++ b/core/java/android/provider/Im.java @@ -2101,17 +2101,60 @@ public class Im { } + + /** + * Columns for IM branding resource map cache table. This table caches the result of + * loading the branding resources to speed up IM landing page start. + */ + public interface BrandingResourceMapCacheColumns { + /** + * The provider ID + *

Type: INTEGER

+ */ + String PROVIDER_ID = "provider_id"; + /** + * The application resource ID + *

Type: INTEGER

+ */ + String APP_RES_ID = "app_res_id"; + /** + * The plugin resource ID + *

Type: INTEGER

+ */ + String PLUGIN_RES_ID = "plugin_res_id"; + } + + /** + * The table for caching the result of loading IM branding resources. + */ + public static final class BrandingResourceMapCache + implements BaseColumns, BrandingResourceMapCacheColumns { + /** + * The content:// style URL for this table. + */ + public static final Uri CONTENT_URI = Uri.parse("content://im/brandingResMapCache"); + } + + + + /** + * //TODO: move these to MCS specific provider. + * The following are MCS stuff, and should really live in a separate provider specific to + * MCS code. + */ + /** * Columns from OutgoingRmq table */ public interface OutgoingRmqColumns { String RMQ_ID = "rmq_id"; - String TYPE = "type"; String TIMESTAMP = "ts"; String DATA = "data"; + String PROTOBUF_TAG = "type"; } /** + * //TODO: we should really move these to their own provider and database. * The table for storing outgoing rmq packets. */ public static final class OutgoingRmq implements BaseColumns, OutgoingRmqColumns { @@ -2174,6 +2217,7 @@ public class Im { } /** + * //TODO: move these out into their own provider and database * The table for storing the last client rmq id sent to the server. */ public static final class LastRmqId implements BaseColumns, LastRmqIdColumns { @@ -2234,35 +2278,21 @@ public class Im { } /** - * Columns for IM branding resource map cache table. This table caches the result of - * loading the branding resources to speed up IM landing page start. + * Columns for the s2dRmqIds table, which stores the server-to-device message + * persistent ids. These are used in the RMQ2 protocol, where in the login request, the + * client selective acks these s2d ids to the server. */ - public interface BrandingResourceMapCacheColumns { - /** - * The provider ID - *

Type: INTEGER

- */ - String PROVIDER_ID = "provider_id"; - /** - * The application resource ID - *

Type: INTEGER

- */ - String APP_RES_ID = "app_res_id"; - /** - * The plugin resource ID - *

Type: INTEGER

- */ - String PLUGIN_RES_ID = "plugin_res_id"; + public interface ServerToDeviceRmqIdsColumn { + String RMQ_ID = "rmq_id"; } - /** - * The table for caching the result of loading IM branding resources. - */ - public static final class BrandingResourceMapCache - implements BaseColumns, BrandingResourceMapCacheColumns { + public static final class ServerToDeviceRmqIds implements BaseColumns, + ServerToDeviceRmqIdsColumn { + /** * The content:// style URL for this table. */ - public static final Uri CONTENT_URI = Uri.parse("content://im/brandingResMapCache"); + public static final Uri CONTENT_URI = Uri.parse("content://im/s2dids"); } + } diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index e1b8e99d5ddc..85a2041aae05 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -2908,44 +2908,58 @@ public final class Settings { * the retrying. */ public static final String GTALK_MAX_RETRIES_FOR_AUTH_EXPIRED = - "gtalk_max_retries_for_auth_expired"; + "gtalk_max_retries_for_auth_expired"; /** - * This is the url for getting the app token for server-to-device push messaging. + * a boolean setting indicating whether the GTalkService should use RMQ2 protocol or not. */ - public static final String PUSH_MESSAGING_REGISTRATION_URL = - "push_messaging_registration_url"; + public static final String GTALK_USE_RMQ2_PROTOCOL = + "gtalk_use_rmq2"; + + /** + * a boolean setting indicating whether the GTalkService should support both RMQ and + * RMQ2 protocols. This setting is true for the transitional period when we need to + * support both protocols. + */ + public static final String GTALK_SUPPORT_RMQ_AND_RMQ2_PROTOCOLS = + "gtalk_support_rmq_and_rmq2"; + + /** + * a boolean setting controlling whether the rmq2 protocol will include stream ids in + * the protobufs. This is used for debugging. + */ + public static final String GTALK_RMQ2_INCLUDE_STREAM_ID = + "gtalk_rmq2_include_stream_id"; /** * This is gdata url to lookup album and picture info from picasa web. */ public static final String GTALK_PICASA_ALBUM_URL = - "gtalk_picasa_album_url"; + "gtalk_picasa_album_url"; /** * This is the url to lookup picture info from flickr. */ public static final String GTALK_FLICKR_PHOTO_INFO_URL = - "gtalk_flickr_photo_info_url"; + "gtalk_flickr_photo_info_url"; /** * This is the url to lookup an actual picture from flickr. */ public static final String GTALK_FLICKR_PHOTO_URL = - "gtalk_flickr_photo_url"; + "gtalk_flickr_photo_url"; /** * This is the gdata url to lookup info on a youtube video. */ public static final String GTALK_YOUTUBE_VIDEO_URL = - "gtalk_youtube_video_url"; - + "gtalk_youtube_video_url"; /** - * This is the url for getting the app token for server-to-device data messaging. + * This is the url for getting the app token for server-to-device push messaging. */ - public static final String DATA_MESSAGE_GET_APP_TOKEN_URL = - "data_messaging_get_app_token_url"; + public static final String PUSH_MESSAGING_REGISTRATION_URL = + "push_messaging_registration_url"; /** * Use android://<it> routing infos for Google Sync Server subcriptions. -- cgit v1.2.3-59-g8ed1b