Only generate private symbols that are needed.
Change-Id: Icc4c86638db8429a387bf87c934cc712f807e213
diff --git a/core/res/MakeJavaSymbols.sed b/core/res/MakeJavaSymbols.sed
new file mode 100644
index 0000000..d02fffa
--- /dev/null
+++ b/core/res/MakeJavaSymbols.sed
@@ -0,0 +1,25 @@
+# Run this on the errors output by javac of missing resource symbols,
+# to generate the set of <java-symbol> commands to have aapt generate
+# the symbol for them.
+#
+# For example: make framework 2>&1 | sed -n -f MakeJavaSymbols.sed | sort -u
+
+s|.*R.id.\([a-zA-Z0-9_]*\).*| <java-symbol type="id" name="\1" />|gp
+s|.*R.attr.\([a-zA-Z0-9_]*\).*| <java-symbol type="attr" name="\1" />|gp
+s|.*R.bool.\([a-zA-Z0-9_]*\).*| <java-symbol type="bool" name="\1" />|gp
+s|.*R.integer.\([a-zA-Z0-9_]*\).*| <java-symbol type="integer" name="\1" />|gp
+s|.*R.color.\([a-zA-Z0-9_]*\).*| <java-symbol type="color" name="\1" />|gp
+s|.*R.dimen.\([a-zA-Z0-9_]*\).*| <java-symbol type="dimen" name="\1" />|gp
+s|.*R.fraction.\([a-zA-Z0-9_]*\).*| <java-symbol type="fraction" name="\1" />|gp
+s|.*R.string.\([a-zA-Z0-9_]*\).*| <java-symbol type="string" name="\1" />|gp
+s|.*R.plurals.\([a-zA-Z0-9_]*\).*| <java-symbol type="plurals" name="\1" />|gp
+s|.*R.array.\([a-zA-Z0-9_]*\).*| <java-symbol type="array" name="\1" />|gp
+s|.*R.drawable.\([a-zA-Z0-9_]*\).*| <java-symbol type="drawable" name="\1" />|gp
+s|.*R.layout.\([a-zA-Z0-9_]*\).*| <java-symbol type="layout" name="\1" />|gp
+s|.*R.anim.\([a-zA-Z0-9_]*\).*| <java-symbol type="anim" name="\1" />|gp
+s|.*R.animator.\([a-zA-Z0-9_]*\).*| <java-symbol type="animator" name="\1" />|gp
+s|.*R.interpolator.\([a-zA-Z0-9_]*\).*| <java-symbol type="interpolator" name="\1" />|gp
+s|.*R.menu.\([a-zA-Z0-9_]*\).*| <java-symbol type="menu" name="\1" />|gp
+s|.*R.xml.\([a-zA-Z0-9_]*\).*| <java-symbol type="xml" name="\1" />|gp
+s|.*R.raw.\([a-zA-Z0-9_]*\).*| <java-symbol type="raw" name="\1" />|gp
+s|.*R.style.\([a-zA-Z0-9_]*\).*| <java-symbol type="style" name="\1" />|gp
diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml
index 4d97ad2..e3c2bd8 100644
--- a/core/res/res/values/public.xml
+++ b/core/res/res/values/public.xml
@@ -23,6 +23,1514 @@
SDK. Instead, put them here. -->
<private-symbols package="com.android.internal" />
+ <!-- Private symbols that we need to reference from framework code. See
+ frameworks/base/core/res/MakeJavaSymbols.sed for how to easily generate
+ this.
+ -->
+ <java-symbol type="id" name="account_name" />
+ <java-symbol type="id" name="account_row_checkmark" />
+ <java-symbol type="id" name="account_row_icon" />
+ <java-symbol type="id" name="account_row_text" />
+ <java-symbol type="id" name="account_type" />
+ <java-symbol type="id" name="action_bar" />
+ <java-symbol type="id" name="action_bar_container" />
+ <java-symbol type="id" name="action_bar_title" />
+ <java-symbol type="id" name="action_bar_subtitle" />
+ <java-symbol type="id" name="action_context_bar" />
+ <java-symbol type="id" name="action_menu_presenter" />
+ <java-symbol type="id" name="action_mode_close_button" />
+ <java-symbol type="id" name="activity_chooser_view_content" />
+ <java-symbol type="id" name="addAccount" />
+ <java-symbol type="id" name="albumart" />
+ <java-symbol type="id" name="alertTitle" />
+ <java-symbol type="id" name="allow_button" />
+ <java-symbol type="id" name="alwaysUse" />
+ <java-symbol type="id" name="amPm" />
+ <java-symbol type="id" name="authtoken_type" />
+ <java-symbol type="id" name="back_button" />
+ <java-symbol type="id" name="btn_next" />
+ <java-symbol type="id" name="btn_play" />
+ <java-symbol type="id" name="btn_prev" />
+ <java-symbol type="id" name="button_bar" />
+ <java-symbol type="id" name="buttonPanel" />
+ <java-symbol type="id" name="by_common" />
+ <java-symbol type="id" name="by_org" />
+ <java-symbol type="id" name="by_org_unit" />
+ <java-symbol type="id" name="calendar_view" />
+ <java-symbol type="id" name="cancel" />
+ <java-symbol type="id" name="characterPicker" />
+ <java-symbol type="id" name="clearDefaultHint" />
+ <java-symbol type="id" name="contentPanel" />
+ <java-symbol type="id" name="customPanel" />
+ <java-symbol type="id" name="dangerous_perms_list" />
+ <java-symbol type="id" name="datePicker" />
+ <java-symbol type="id" name="day" />
+ <java-symbol type="id" name="day_names" />
+ <java-symbol type="id" name="decrement" />
+ <java-symbol type="id" name="default_activity_button" />
+ <java-symbol type="id" name="deny_button" />
+ <java-symbol type="id" name="description" />
+ <java-symbol type="id" name="divider" />
+ <java-symbol type="id" name="edit_query" />
+ <java-symbol type="id" name="edittext_container" />
+ <java-symbol type="id" name="enter_pin_section" />
+ <java-symbol type="id" name="expand_activities_button" />
+ <java-symbol type="id" name="expand_button" />
+ <java-symbol type="id" name="expand_button_divider" />
+ <java-symbol type="id" name="expires_on" />
+ <java-symbol type="id" name="find_next" />
+ <java-symbol type="id" name="find_prev" />
+ <java-symbol type="id" name="ffwd" />
+ <java-symbol type="id" name="fillInIntent" />
+ <java-symbol type="id" name="find" />
+ <java-symbol type="id" name="fullscreenArea" />
+ <java-symbol type="id" name="headers" />
+ <java-symbol type="id" name="hour" />
+ <java-symbol type="id" name="icon" />
+ <java-symbol type="id" name="image" />
+ <java-symbol type="id" name="imageButton" />
+ <java-symbol type="id" name="increment" />
+ <java-symbol type="id" name="internalEmpty" />
+ <java-symbol type="id" name="info" />
+ <java-symbol type="id" name="inputExtractAccessories" />
+ <java-symbol type="id" name="inputExtractAction" />
+ <java-symbol type="id" name="inputExtractEditButton" />
+ <java-symbol type="id" name="issued_on" />
+ <java-symbol type="id" name="left_icon" />
+ <java-symbol type="id" name="leftSpacer" />
+ <java-symbol type="id" name="line3" />
+ <java-symbol type="id" name="list_footer" />
+ <java-symbol type="id" name="list_item" />
+ <java-symbol type="id" name="listContainer" />
+ <java-symbol type="id" name="locale" />
+ <java-symbol type="id" name="matches" />
+ <java-symbol type="id" name="mediacontroller_progress" />
+ <java-symbol type="id" name="minute" />
+ <java-symbol type="id" name="mode_normal" />
+ <java-symbol type="id" name="month" />
+ <java-symbol type="id" name="month_name" />
+ <java-symbol type="id" name="name" />
+ <java-symbol type="id" name="next" />
+ <java-symbol type="id" name="next_button" />
+ <java-symbol type="id" name="new_app_action" />
+ <java-symbol type="id" name="new_app_description" />
+ <java-symbol type="id" name="new_app_icon" />
+ <java-symbol type="id" name="no_permissions" />
+ <java-symbol type="id" name="non_dangerous_perms_list" />
+ <java-symbol type="id" name="numberpicker_input" />
+ <java-symbol type="id" name="old_app_action" />
+ <java-symbol type="id" name="old_app_description" />
+ <java-symbol type="id" name="old_app_icon" />
+ <java-symbol type="id" name="package_label" />
+ <java-symbol type="id" name="packages_list" />
+ <java-symbol type="id" name="pause" />
+ <java-symbol type="id" name="perm_icon" />
+ <java-symbol type="id" name="permission_group" />
+ <java-symbol type="id" name="permission_list" />
+ <java-symbol type="id" name="pickers" />
+ <java-symbol type="id" name="prefs" />
+ <java-symbol type="id" name="prefs_frame" />
+ <java-symbol type="id" name="prev" />
+ <java-symbol type="id" name="progress" />
+ <java-symbol type="id" name="progress_circular" />
+ <java-symbol type="id" name="progress_horizontal" />
+ <java-symbol type="id" name="progress_number" />
+ <java-symbol type="id" name="progress_percent" />
+ <java-symbol type="id" name="progressContainer" />
+ <java-symbol type="id" name="rew" />
+ <java-symbol type="id" name="rightSpacer" />
+ <java-symbol type="id" name="rowTypeId" />
+ <java-symbol type="id" name="scrollView" />
+ <java-symbol type="id" name="search_app_icon" />
+ <java-symbol type="id" name="search_badge" />
+ <java-symbol type="id" name="search_bar" />
+ <java-symbol type="id" name="search_button" />
+ <java-symbol type="id" name="search_close_btn" />
+ <java-symbol type="id" name="search_edit_frame" />
+ <java-symbol type="id" name="search_go_btn" />
+ <java-symbol type="id" name="search_mag_icon" />
+ <java-symbol type="id" name="search_plate" />
+ <java-symbol type="id" name="search_src_text" />
+ <java-symbol type="id" name="search_view" />
+ <java-symbol type="id" name="search_voice_btn" />
+ <java-symbol type="id" name="select_all" />
+ <java-symbol type="id" name="serial_number" />
+ <java-symbol type="id" name="seekbar" />
+ <java-symbol type="id" name="sha1_fingerprint" />
+ <java-symbol type="id" name="sha256_fingerprint" />
+ <java-symbol type="id" name="share" />
+ <java-symbol type="id" name="shortcut" />
+ <java-symbol type="id" name="show_more" />
+ <java-symbol type="id" name="show_more_icon" />
+ <java-symbol type="id" name="show_more_text" />
+ <java-symbol type="id" name="skip_button" />
+ <java-symbol type="id" name="slider_group" />
+ <java-symbol type="id" name="split_action_bar" />
+ <java-symbol type="id" name="stream_icon" />
+ <java-symbol type="id" name="submit_area" />
+ <java-symbol type="id" name="switch_new" />
+ <java-symbol type="id" name="switch_old" />
+ <java-symbol type="id" name="switchWidget" />
+ <java-symbol type="id" name="text" />
+ <java-symbol type="id" name="textButton" />
+ <java-symbol type="id" name="time" />
+ <java-symbol type="id" name="time_current" />
+ <java-symbol type="id" name="timeDisplayBackground" />
+ <java-symbol type="id" name="timeDisplayForeground" />
+ <java-symbol type="id" name="titleDivider" />
+ <java-symbol type="id" name="titleDividerTop" />
+ <java-symbol type="id" name="timePicker" />
+ <java-symbol type="id" name="title_template" />
+ <java-symbol type="id" name="to_common" />
+ <java-symbol type="id" name="to_org" />
+ <java-symbol type="id" name="to_org_unit" />
+ <java-symbol type="id" name="topPanel" />
+ <java-symbol type="id" name="up" />
+ <java-symbol type="id" name="value" />
+ <java-symbol type="id" name="visible_panel" />
+ <java-symbol type="id" name="websearch" />
+ <java-symbol type="id" name="wifi_p2p_wps_pin" />
+ <java-symbol type="id" name="year" />
+ <java-symbol type="id" name="zoomControls" />
+ <java-symbol type="id" name="zoomIn" />
+ <java-symbol type="id" name="zoomMagnify" />
+ <java-symbol type="id" name="zoomOut" />
+
+ <java-symbol type="attr" name="actionModeShareDrawable" />
+ <java-symbol type="attr" name="alertDialogCenterButtons" />
+ <java-symbol type="attr" name="gestureOverlayViewStyle" />
+ <java-symbol type="attr" name="keyboardViewStyle" />
+ <java-symbol type="attr" name="numberPickerStyle" />
+ <java-symbol type="attr" name="pointerStyle" />
+ <java-symbol type="attr" name="preferenceFrameLayoutStyle" />
+ <java-symbol type="attr" name="searchDialogTheme" />
+ <java-symbol type="attr" name="searchViewSearchIcon" />
+ <java-symbol type="attr" name="stackViewStyle" />
+ <java-symbol type="attr" name="switchStyle" />
+ <java-symbol type="attr" name="textAppearanceAutoCorrectionSuggestion" />
+ <java-symbol type="attr" name="textAppearanceEasyCorrectSuggestion" />
+ <java-symbol type="attr" name="textAppearanceMisspelledSuggestion" />
+ <java-symbol type="attr" name="textColorSearchUrl" />
+ <java-symbol type="attr" name="timePickerStyle" />
+
+ <java-symbol type="bool" name="action_bar_embed_tabs" />
+ <java-symbol type="bool" name="action_bar_expanded_action_views_exclusive" />
+ <java-symbol type="bool" name="config_allowActionMenuItemTextWithIcon" />
+ <java-symbol type="bool" name="config_bluetooth_adapter_quick_switch" />
+ <java-symbol type="bool" name="config_bluetooth_sco_off_call" />
+ <java-symbol type="bool" name="config_duplicate_port_omadm_wappush" />
+ <java-symbol type="bool" name="config_enable_emergency_call_while_sim_locked" />
+ <java-symbol type="bool" name="config_enable_puk_unlock_screen" />
+ <java-symbol type="bool" name="config_mms_content_disposition_support" />
+ <java-symbol type="bool" name="config_showMenuShortcutsWhenKeyboardPresent" />
+ <java-symbol type="bool" name="config_sip_wifi_only" />
+ <java-symbol type="bool" name="config_sms_capable" />
+ <java-symbol type="bool" name="config_sms_utf8_support" />
+ <java-symbol type="bool" name="config_swipeDisambiguation" />
+ <java-symbol type="bool" name="config_telephony_use_own_number_for_voicemail" />
+ <java-symbol type="bool" name="config_ui_enableFadingMarquee" />
+ <java-symbol type="bool" name="config_use_strict_phone_number_comparation" />
+ <java-symbol type="bool" name="config_voice_capable" />
+ <java-symbol type="bool" name="preferences_prefer_dual_pane" />
+ <java-symbol type="bool" name="skip_restoring_network_selection" />
+ <java-symbol type="bool" name="split_action_bar_is_narrow" />
+
+ <java-symbol type="integer" name="config_cursorWindowSize" />
+ <java-symbol type="integer" name="config_longPressOnPowerBehavior" />
+ <java-symbol type="integer" name="config_max_pan_devices" />
+ <java-symbol type="integer" name="config_ntpTimeout" />
+ <java-symbol type="integer" name="config_wifi_framework_scan_interval" />
+ <java-symbol type="integer" name="config_wifi_supplicant_scan_interval" />
+ <java-symbol type="integer" name="db_connection_pool_size" />
+ <java-symbol type="integer" name="max_action_buttons" />
+
+ <java-symbol type="color" name="tab_indicator_text_v4" />
+
+ <java-symbol type="dimen" name="config_prefDialogWidth" />
+ <java-symbol type="dimen" name="config_viewConfigurationTouchSlop" />
+ <java-symbol type="dimen" name="default_app_widget_padding_bottom" />
+ <java-symbol type="dimen" name="default_app_widget_padding_left" />
+ <java-symbol type="dimen" name="default_app_widget_padding_right" />
+ <java-symbol type="dimen" name="default_app_widget_padding_top" />
+ <java-symbol type="dimen" name="default_gap" />
+ <java-symbol type="dimen" name="dropdownitem_icon_width" />
+ <java-symbol type="dimen" name="dropdownitem_text_padding_left" />
+ <java-symbol type="dimen" name="fastscroll_overlay_size" />
+ <java-symbol type="dimen" name="fastscroll_thumb_height" />
+ <java-symbol type="dimen" name="fastscroll_thumb_width" />
+ <java-symbol type="dimen" name="fastscroll_thumb_width" />
+ <java-symbol type="dimen" name="password_keyboard_spacebar_vertical_correction" />
+ <java-symbol type="dimen" name="search_view_preferred_width" />
+ <java-symbol type="dimen" name="textview_error_popup_default_width" />
+ <java-symbol type="dimen" name="toast_y_offset" />
+ <java-symbol type="dimen" name="volume_panel_top" />
+
+ <java-symbol type="string" name="addToDictionary" />
+ <java-symbol type="string" name="action_bar_home_description" />
+ <java-symbol type="string" name="action_bar_up_description" />
+ <java-symbol type="string" name="delete" />
+ <java-symbol type="string" name="deleteText" />
+ <java-symbol type="string" name="ellipsis_two_dots" />
+ <java-symbol type="string" name="ellipsis" />
+ <java-symbol type="string" name="grant_permissions_header_text" />
+ <java-symbol type="string" name="list_delimeter" />
+ <java-symbol type="string" name="menu_delete_shortcut_label" />
+ <java-symbol type="string" name="menu_enter_shortcut_label" />
+ <java-symbol type="string" name="menu_space_shortcut_label" />
+ <java-symbol type="string" name="notification_title" />
+ <java-symbol type="string" name="permission_request_notification_with_subtitle" />
+ <java-symbol type="string" name="prepend_shortcut_label" />
+ <java-symbol type="string" name="replace" />
+ <java-symbol type="string" name="textSelectionCABTitle" />
+ <java-symbol type="string" name="BaMmi" />
+ <java-symbol type="string" name="CLIRDefaultOffNextCallOff" />
+ <java-symbol type="string" name="CLIRDefaultOffNextCallOn" />
+ <java-symbol type="string" name="CLIRDefaultOnNextCallOff" />
+ <java-symbol type="string" name="CLIRDefaultOnNextCallOn" />
+ <java-symbol type="string" name="CLIRPermanent" />
+ <java-symbol type="string" name="CfMmi" />
+ <java-symbol type="string" name="ClipMmi" />
+ <java-symbol type="string" name="ClirMmi" />
+ <java-symbol type="string" name="CwMmi" />
+ <java-symbol type="string" name="Midnight" />
+ <java-symbol type="string" name="Noon" />
+ <java-symbol type="string" name="PinMmi" />
+ <java-symbol type="string" name="PwdMmi" />
+ <java-symbol type="string" name="RestrictedChangedTitle" />
+ <java-symbol type="string" name="RestrictedOnAllVoice" />
+ <java-symbol type="string" name="RestrictedOnData" />
+ <java-symbol type="string" name="RestrictedOnEmergency" />
+ <java-symbol type="string" name="RestrictedOnNormal" />
+ <java-symbol type="string" name="SetupCallDefault" />
+ <java-symbol type="string" name="abbrev_month" />
+ <java-symbol type="string" name="abbrev_month_day" />
+ <java-symbol type="string" name="abbrev_month_day_year" />
+ <java-symbol type="string" name="abbrev_month_year" />
+ <java-symbol type="string" name="accept" />
+ <java-symbol type="string" name="activity_chooser_view_see_all" />
+ <java-symbol type="string" name="activitychooserview_choose_application" />
+ <java-symbol type="string" name="alternate_eri_file" />
+ <java-symbol type="string" name="alwaysUse" />
+ <java-symbol type="string" name="am" />
+ <java-symbol type="string" name="autofill_address_line_1_label_re" />
+ <java-symbol type="string" name="autofill_address_line_1_re" />
+ <java-symbol type="string" name="autofill_address_line_2_re" />
+ <java-symbol type="string" name="autofill_address_line_3_re" />
+ <java-symbol type="string" name="autofill_address_name_separator" />
+ <java-symbol type="string" name="autofill_address_summary_format" />
+ <java-symbol type="string" name="autofill_address_summary_name_format" />
+ <java-symbol type="string" name="autofill_address_summary_separator" />
+ <java-symbol type="string" name="autofill_address_type_same_as_re" />
+ <java-symbol type="string" name="autofill_address_type_use_my_re" />
+ <java-symbol type="string" name="autofill_area" />
+ <java-symbol type="string" name="autofill_area_code_notext_re" />
+ <java-symbol type="string" name="autofill_area_code_re" />
+ <java-symbol type="string" name="autofill_attention_ignored_re" />
+ <java-symbol type="string" name="autofill_billing_designator_re" />
+ <java-symbol type="string" name="autofill_card_cvc_re" />
+ <java-symbol type="string" name="autofill_card_ignored_re" />
+ <java-symbol type="string" name="autofill_card_number_re" />
+ <java-symbol type="string" name="autofill_city_re" />
+ <java-symbol type="string" name="autofill_company_re" />
+ <java-symbol type="string" name="autofill_country_code_re" />
+ <java-symbol type="string" name="autofill_country_re" />
+ <java-symbol type="string" name="autofill_county" />
+ <java-symbol type="string" name="autofill_department" />
+ <java-symbol type="string" name="autofill_district" />
+ <java-symbol type="string" name="autofill_email_re" />
+ <java-symbol type="string" name="autofill_emirate" />
+ <java-symbol type="string" name="autofill_expiration_date_re" />
+ <java-symbol type="string" name="autofill_expiration_month_re" />
+ <java-symbol type="string" name="autofill_fax_re" />
+ <java-symbol type="string" name="autofill_first_name_re" />
+ <java-symbol type="string" name="autofill_island" />
+ <java-symbol type="string" name="autofill_last_name_re" />
+ <java-symbol type="string" name="autofill_middle_initial_re" />
+ <java-symbol type="string" name="autofill_middle_name_re" />
+ <java-symbol type="string" name="autofill_name_on_card_contextual_re" />
+ <java-symbol type="string" name="autofill_name_on_card_re" />
+ <java-symbol type="string" name="autofill_name_re" />
+ <java-symbol type="string" name="autofill_name_specific_re" />
+ <java-symbol type="string" name="autofill_parish" />
+ <java-symbol type="string" name="autofill_phone_extension_re" />
+ <java-symbol type="string" name="autofill_phone_prefix_re" />
+ <java-symbol type="string" name="autofill_phone_prefix_separator_re" />
+ <java-symbol type="string" name="autofill_phone_re" />
+ <java-symbol type="string" name="autofill_phone_suffix_re" />
+ <java-symbol type="string" name="autofill_phone_suffix_separator_re" />
+ <java-symbol type="string" name="autofill_postal_code" />
+ <java-symbol type="string" name="autofill_prefecture" />
+ <java-symbol type="string" name="autofill_province" />
+ <java-symbol type="string" name="autofill_region_ignored_re" />
+ <java-symbol type="string" name="autofill_shipping_designator_re" />
+ <java-symbol type="string" name="autofill_state" />
+ <java-symbol type="string" name="autofill_state_re" />
+ <java-symbol type="string" name="autofill_this_form" />
+ <java-symbol type="string" name="autofill_username_re" />
+ <java-symbol type="string" name="autofill_zip_4_re" />
+ <java-symbol type="string" name="autofill_zip_code" />
+ <java-symbol type="string" name="autofill_zip_code_re" />
+ <java-symbol type="string" name="badPin" />
+ <java-symbol type="string" name="badPuk" />
+ <java-symbol type="string" name="byteShort" />
+ <java-symbol type="string" name="cfTemplateForwarded" />
+ <java-symbol type="string" name="cfTemplateForwardedTime" />
+ <java-symbol type="string" name="cfTemplateNotForwarded" />
+ <java-symbol type="string" name="cfTemplateRegistered" />
+ <java-symbol type="string" name="cfTemplateRegisteredTime" />
+ <java-symbol type="string" name="checkbox_checked" />
+ <java-symbol type="string" name="checkbox_not_checked" />
+ <java-symbol type="string" name="chooseActivity" />
+ <java-symbol type="string" name="config_default_dns_server" />
+ <java-symbol type="string" name="config_ethernet_iface_regex" />
+ <java-symbol type="string" name="config_ntpServer" />
+ <java-symbol type="string" name="config_tether_apndata" />
+ <java-symbol type="string" name="config_useragentprofile_url" />
+ <java-symbol type="string" name="config_wifi_p2p_device_type" />
+ <java-symbol type="string" name="contentServiceSync" />
+ <java-symbol type="string" name="contentServiceSyncNotificationTitle" />
+ <java-symbol type="string" name="contentServiceTooManyDeletesNotificationDesc" />
+ <java-symbol type="string" name="date1_date2" />
+ <java-symbol type="string" name="date1_time1_date2_time2" />
+ <java-symbol type="string" name="date_and_time" />
+ <java-symbol type="string" name="date_picker_decrement_day_button" />
+ <java-symbol type="string" name="date_picker_decrement_month_button" />
+ <java-symbol type="string" name="date_picker_decrement_year_button" />
+ <java-symbol type="string" name="date_picker_dialog_title" />
+ <java-symbol type="string" name="date_picker_increment_day_button" />
+ <java-symbol type="string" name="date_picker_increment_month_button" />
+ <java-symbol type="string" name="date_picker_increment_year_button" />
+ <java-symbol type="string" name="date_time" />
+ <java-symbol type="string" name="date_time_set" />
+ <java-symbol type="string" name="day_of_week_long_friday" />
+ <java-symbol type="string" name="day_of_week_long_monday" />
+ <java-symbol type="string" name="day_of_week_long_saturday" />
+ <java-symbol type="string" name="day_of_week_long_sunday" />
+ <java-symbol type="string" name="day_of_week_long_thursday" />
+ <java-symbol type="string" name="day_of_week_long_tuesday" />
+ <java-symbol type="string" name="day_of_week_long_wednesday" />
+ <java-symbol type="string" name="day_of_week_medium_friday" />
+ <java-symbol type="string" name="day_of_week_medium_monday" />
+ <java-symbol type="string" name="day_of_week_medium_saturday" />
+ <java-symbol type="string" name="day_of_week_medium_sunday" />
+ <java-symbol type="string" name="day_of_week_medium_thursday" />
+ <java-symbol type="string" name="day_of_week_medium_tuesday" />
+ <java-symbol type="string" name="day_of_week_medium_wednesday" />
+ <java-symbol type="string" name="day_of_week_short_friday" />
+ <java-symbol type="string" name="day_of_week_short_monday" />
+ <java-symbol type="string" name="day_of_week_short_saturday" />
+ <java-symbol type="string" name="day_of_week_short_sunday" />
+ <java-symbol type="string" name="day_of_week_short_thursday" />
+ <java-symbol type="string" name="day_of_week_short_tuesday" />
+ <java-symbol type="string" name="day_of_week_short_wednesday" />
+ <java-symbol type="string" name="day_of_week_shortest_friday" />
+ <java-symbol type="string" name="day_of_week_shortest_monday" />
+ <java-symbol type="string" name="day_of_week_shortest_saturday" />
+ <java-symbol type="string" name="day_of_week_shortest_sunday" />
+ <java-symbol type="string" name="day_of_week_shortest_thursday" />
+ <java-symbol type="string" name="day_of_week_shortest_tuesday" />
+ <java-symbol type="string" name="day_of_week_shortest_wednesday" />
+ <java-symbol type="string" name="decline" />
+ <java-symbol type="string" name="default_permission_group" />
+ <java-symbol type="string" name="default_text_encoding" />
+ <java-symbol type="string" name="description_target_unlock_tablet" />
+ <java-symbol type="string" name="double_tap_toast" />
+ <java-symbol type="string" name="elapsed_time_short_format_h_mm_ss" />
+ <java-symbol type="string" name="elapsed_time_short_format_mm_ss" />
+ <java-symbol type="string" name="emailTypeCustom" />
+ <java-symbol type="string" name="emailTypeHome" />
+ <java-symbol type="string" name="emailTypeMobile" />
+ <java-symbol type="string" name="emailTypeOther" />
+ <java-symbol type="string" name="emailTypeWork" />
+ <java-symbol type="string" name="emergency_call_dialog_number_for_display" />
+ <java-symbol type="string" name="emergency_calls_only" />
+ <java-symbol type="string" name="eventTypeAnniversary" />
+ <java-symbol type="string" name="eventTypeBirthday" />
+ <java-symbol type="string" name="eventTypeCustom" />
+ <java-symbol type="string" name="eventTypeOther" />
+ <java-symbol type="string" name="extmedia_format_button_format" />
+ <java-symbol type="string" name="extmedia_format_message" />
+ <java-symbol type="string" name="extmedia_format_title" />
+ <java-symbol type="string" name="fileSizeSuffix" />
+ <java-symbol type="string" name="force_close" />
+ <java-symbol type="string" name="format_error" />
+ <java-symbol type="string" name="gadget_host_error_inflating" />
+ <java-symbol type="string" name="gigabyteShort" />
+ <java-symbol type="string" name="gpsNotifMessage" />
+ <java-symbol type="string" name="gpsNotifTicker" />
+ <java-symbol type="string" name="gpsNotifTitle" />
+ <java-symbol type="string" name="gpsVerifNo" />
+ <java-symbol type="string" name="gpsVerifYes" />
+ <java-symbol type="string" name="gsm_alphabet_default_charset" />
+ <java-symbol type="string" name="hour_ampm" />
+ <java-symbol type="string" name="hour_cap_ampm" />
+ <java-symbol type="string" name="hour_minute_24" />
+ <java-symbol type="string" name="hour_minute_ampm" />
+ <java-symbol type="string" name="hour_minute_cap_ampm" />
+ <java-symbol type="string" name="httpError" />
+ <java-symbol type="string" name="httpErrorAuth" />
+ <java-symbol type="string" name="httpErrorConnect" />
+ <java-symbol type="string" name="httpErrorFailedSslHandshake" />
+ <java-symbol type="string" name="httpErrorFile" />
+ <java-symbol type="string" name="httpErrorFileNotFound" />
+ <java-symbol type="string" name="httpErrorIO" />
+ <java-symbol type="string" name="httpErrorLookup" />
+ <java-symbol type="string" name="httpErrorOk" />
+ <java-symbol type="string" name="httpErrorProxyAuth" />
+ <java-symbol type="string" name="httpErrorRedirectLoop" />
+ <java-symbol type="string" name="httpErrorTimeout" />
+ <java-symbol type="string" name="httpErrorTooManyRequests" />
+ <java-symbol type="string" name="httpErrorUnsupportedAuthScheme" />
+ <java-symbol type="string" name="imProtocolAim" />
+ <java-symbol type="string" name="imProtocolCustom" />
+ <java-symbol type="string" name="imProtocolGoogleTalk" />
+ <java-symbol type="string" name="imProtocolIcq" />
+ <java-symbol type="string" name="imProtocolJabber" />
+ <java-symbol type="string" name="imProtocolMsn" />
+ <java-symbol type="string" name="imProtocolNetMeeting" />
+ <java-symbol type="string" name="imProtocolQq" />
+ <java-symbol type="string" name="imProtocolSkype" />
+ <java-symbol type="string" name="imProtocolYahoo" />
+ <java-symbol type="string" name="imTypeCustom" />
+ <java-symbol type="string" name="imTypeHome" />
+ <java-symbol type="string" name="imTypeOther" />
+ <java-symbol type="string" name="imTypeWork" />
+ <java-symbol type="string" name="ime_action_default" />
+ <java-symbol type="string" name="ime_action_done" />
+ <java-symbol type="string" name="ime_action_go" />
+ <java-symbol type="string" name="ime_action_next" />
+ <java-symbol type="string" name="ime_action_previous" />
+ <java-symbol type="string" name="ime_action_search" />
+ <java-symbol type="string" name="ime_action_send" />
+ <java-symbol type="string" name="invalidPin" />
+ <java-symbol type="string" name="js_dialog_before_unload" />
+ <java-symbol type="string" name="js_dialog_title" />
+ <java-symbol type="string" name="js_dialog_title_default" />
+ <java-symbol type="string" name="keyboard_headset_required_to_hear_password" />
+ <java-symbol type="string" name="keyboard_password_character_no_headset" />
+ <java-symbol type="string" name="keyboardview_keycode_alt" />
+ <java-symbol type="string" name="keyboardview_keycode_cancel" />
+ <java-symbol type="string" name="keyboardview_keycode_delete" />
+ <java-symbol type="string" name="keyboardview_keycode_done" />
+ <java-symbol type="string" name="keyboardview_keycode_enter" />
+ <java-symbol type="string" name="keyboardview_keycode_mode_change" />
+ <java-symbol type="string" name="keyboardview_keycode_shift" />
+ <java-symbol type="string" name="kilobyteShort" />
+ <java-symbol type="string" name="last_month" />
+ <java-symbol type="string" name="launchBrowserDefault" />
+ <java-symbol type="string" name="lockscreen_access_pattern_cell_added" />
+ <java-symbol type="string" name="lockscreen_access_pattern_cleared" />
+ <java-symbol type="string" name="lockscreen_access_pattern_detected" />
+ <java-symbol type="string" name="lockscreen_access_pattern_start" />
+ <java-symbol type="string" name="lockscreen_emergency_call" />
+ <java-symbol type="string" name="lockscreen_return_to_call" />
+ <java-symbol type="string" name="lockscreen_transport_pause_description" />
+ <java-symbol type="string" name="lockscreen_transport_play_description" />
+ <java-symbol type="string" name="lockscreen_transport_stop_description" />
+ <java-symbol type="string" name="low_memory" />
+ <java-symbol type="string" name="media_bad_removal" />
+ <java-symbol type="string" name="media_checking" />
+ <java-symbol type="string" name="media_removed" />
+ <java-symbol type="string" name="media_shared" />
+ <java-symbol type="string" name="media_unknown_state" />
+ <java-symbol type="string" name="megabyteShort" />
+ <java-symbol type="string" name="midnight" />
+ <java-symbol type="string" name="mismatchPin" />
+ <java-symbol type="string" name="mmiComplete" />
+ <java-symbol type="string" name="mmiError" />
+ <java-symbol type="string" name="mmiFdnError" />
+ <java-symbol type="string" name="month" />
+ <java-symbol type="string" name="month_day" />
+ <java-symbol type="string" name="month_day_year" />
+ <java-symbol type="string" name="month_long_april" />
+ <java-symbol type="string" name="month_long_august" />
+ <java-symbol type="string" name="month_long_december" />
+ <java-symbol type="string" name="month_long_february" />
+ <java-symbol type="string" name="month_long_january" />
+ <java-symbol type="string" name="month_long_july" />
+ <java-symbol type="string" name="month_long_june" />
+ <java-symbol type="string" name="month_long_march" />
+ <java-symbol type="string" name="month_long_may" />
+ <java-symbol type="string" name="month_long_november" />
+ <java-symbol type="string" name="month_long_october" />
+ <java-symbol type="string" name="month_long_september" />
+ <java-symbol type="string" name="month_long_standalone_april" />
+ <java-symbol type="string" name="month_long_standalone_august" />
+ <java-symbol type="string" name="month_long_standalone_december" />
+ <java-symbol type="string" name="month_long_standalone_february" />
+ <java-symbol type="string" name="month_long_standalone_january" />
+ <java-symbol type="string" name="month_long_standalone_july" />
+ <java-symbol type="string" name="month_long_standalone_june" />
+ <java-symbol type="string" name="month_long_standalone_march" />
+ <java-symbol type="string" name="month_long_standalone_may" />
+ <java-symbol type="string" name="month_long_standalone_november" />
+ <java-symbol type="string" name="month_long_standalone_october" />
+ <java-symbol type="string" name="month_long_standalone_september" />
+ <java-symbol type="string" name="month_medium_april" />
+ <java-symbol type="string" name="month_medium_august" />
+ <java-symbol type="string" name="month_medium_december" />
+ <java-symbol type="string" name="month_medium_february" />
+ <java-symbol type="string" name="month_medium_january" />
+ <java-symbol type="string" name="month_medium_july" />
+ <java-symbol type="string" name="month_medium_june" />
+ <java-symbol type="string" name="month_medium_march" />
+ <java-symbol type="string" name="month_medium_may" />
+ <java-symbol type="string" name="month_medium_november" />
+ <java-symbol type="string" name="month_medium_october" />
+ <java-symbol type="string" name="month_medium_september" />
+ <java-symbol type="string" name="month_shortest_april" />
+ <java-symbol type="string" name="month_shortest_august" />
+ <java-symbol type="string" name="month_shortest_december" />
+ <java-symbol type="string" name="month_shortest_february" />
+ <java-symbol type="string" name="month_shortest_january" />
+ <java-symbol type="string" name="month_shortest_july" />
+ <java-symbol type="string" name="month_shortest_june" />
+ <java-symbol type="string" name="month_shortest_march" />
+ <java-symbol type="string" name="month_shortest_may" />
+ <java-symbol type="string" name="month_shortest_november" />
+ <java-symbol type="string" name="month_shortest_october" />
+ <java-symbol type="string" name="month_shortest_september" />
+ <java-symbol type="string" name="month_year" />
+ <java-symbol type="string" name="more_item_label" />
+ <java-symbol type="string" name="needPuk" />
+ <java-symbol type="string" name="needPuk2" />
+ <java-symbol type="string" name="new_app_action" />
+ <java-symbol type="string" name="new_app_description" />
+ <java-symbol type="string" name="noApplications" />
+ <java-symbol type="string" name="no_file_chosen" />
+ <java-symbol type="string" name="no_matches" />
+ <java-symbol type="string" name="noon" />
+ <java-symbol type="string" name="number_picker_increment_scroll_action" />
+ <java-symbol type="string" name="number_picker_increment_scroll_mode" />
+ <java-symbol type="string" name="numeric_date" />
+ <java-symbol type="string" name="numeric_date_format" />
+ <java-symbol type="string" name="numeric_date_template" />
+ <java-symbol type="string" name="numeric_md1_md2" />
+ <java-symbol type="string" name="numeric_md1_time1_md2_time2" />
+ <java-symbol type="string" name="numeric_mdy1_mdy2" />
+ <java-symbol type="string" name="numeric_mdy1_time1_mdy2_time2" />
+ <java-symbol type="string" name="numeric_wday1_md1_time1_wday2_md2_time2" />
+ <java-symbol type="string" name="numeric_wday1_md1_wday2_md2" />
+ <java-symbol type="string" name="numeric_wday1_mdy1_time1_wday2_mdy2_time2" />
+ <java-symbol type="string" name="numeric_wday1_mdy1_wday2_mdy2" />
+ <java-symbol type="string" name="old_app_action" />
+ <java-symbol type="string" name="old_app_description" />
+ <java-symbol type="string" name="older" />
+ <java-symbol type="string" name="open_permission_deny" />
+ <java-symbol type="string" name="orgTypeCustom" />
+ <java-symbol type="string" name="orgTypeOther" />
+ <java-symbol type="string" name="orgTypeWork" />
+ <java-symbol type="string" name="passwordIncorrect" />
+ <java-symbol type="string" name="permissions_format" />
+ <java-symbol type="string" name="perms_hide" />
+ <java-symbol type="string" name="perms_show_all" />
+ <java-symbol type="string" name="petabyteShort" />
+ <java-symbol type="string" name="phoneTypeAssistant" />
+ <java-symbol type="string" name="phoneTypeCallback" />
+ <java-symbol type="string" name="phoneTypeCar" />
+ <java-symbol type="string" name="phoneTypeCompanyMain" />
+ <java-symbol type="string" name="phoneTypeCustom" />
+ <java-symbol type="string" name="phoneTypeFaxHome" />
+ <java-symbol type="string" name="phoneTypeFaxWork" />
+ <java-symbol type="string" name="phoneTypeHome" />
+ <java-symbol type="string" name="phoneTypeIsdn" />
+ <java-symbol type="string" name="phoneTypeMain" />
+ <java-symbol type="string" name="phoneTypeMms" />
+ <java-symbol type="string" name="phoneTypeMobile" />
+ <java-symbol type="string" name="phoneTypeOther" />
+ <java-symbol type="string" name="phoneTypeOtherFax" />
+ <java-symbol type="string" name="phoneTypePager" />
+ <java-symbol type="string" name="phoneTypeRadio" />
+ <java-symbol type="string" name="phoneTypeTelex" />
+ <java-symbol type="string" name="phoneTypeTtyTdd" />
+ <java-symbol type="string" name="phoneTypeWork" />
+ <java-symbol type="string" name="phoneTypeWorkMobile" />
+ <java-symbol type="string" name="phoneTypeWorkPager" />
+ <java-symbol type="string" name="pm" />
+ <java-symbol type="string" name="policydesc_disableCamera" />
+ <java-symbol type="string" name="policydesc_encryptedStorage" />
+ <java-symbol type="string" name="policydesc_expirePassword" />
+ <java-symbol type="string" name="policydesc_forceLock" />
+ <java-symbol type="string" name="policydesc_limitPassword" />
+ <java-symbol type="string" name="policydesc_resetPassword" />
+ <java-symbol type="string" name="policydesc_setGlobalProxy" />
+ <java-symbol type="string" name="policydesc_watchLogin" />
+ <java-symbol type="string" name="policydesc_wipeData" />
+ <java-symbol type="string" name="policylab_disableCamera" />
+ <java-symbol type="string" name="policylab_encryptedStorage" />
+ <java-symbol type="string" name="policylab_expirePassword" />
+ <java-symbol type="string" name="policylab_forceLock" />
+ <java-symbol type="string" name="policylab_limitPassword" />
+ <java-symbol type="string" name="policylab_resetPassword" />
+ <java-symbol type="string" name="policylab_setGlobalProxy" />
+ <java-symbol type="string" name="policylab_watchLogin" />
+ <java-symbol type="string" name="policylab_wipeData" />
+ <java-symbol type="string" name="postalTypeCustom" />
+ <java-symbol type="string" name="postalTypeHome" />
+ <java-symbol type="string" name="postalTypeOther" />
+ <java-symbol type="string" name="postalTypeWork" />
+ <java-symbol type="string" name="power_off" />
+ <java-symbol type="string" name="preposition_for_date" />
+ <java-symbol type="string" name="preposition_for_time" />
+ <java-symbol type="string" name="progress_erasing" />
+ <java-symbol type="string" name="progress_unmounting" />
+ <java-symbol type="string" name="radiobutton_not_selected" />
+ <java-symbol type="string" name="radiobutton_selected" />
+ <java-symbol type="string" name="relationTypeAssistant" />
+ <java-symbol type="string" name="relationTypeBrother" />
+ <java-symbol type="string" name="relationTypeChild" />
+ <java-symbol type="string" name="relationTypeDomesticPartner" />
+ <java-symbol type="string" name="relationTypeFather" />
+ <java-symbol type="string" name="relationTypeFriend" />
+ <java-symbol type="string" name="relationTypeManager" />
+ <java-symbol type="string" name="relationTypeMother" />
+ <java-symbol type="string" name="relationTypeParent" />
+ <java-symbol type="string" name="relationTypePartner" />
+ <java-symbol type="string" name="relationTypeReferredBy" />
+ <java-symbol type="string" name="relationTypeRelative" />
+ <java-symbol type="string" name="relationTypeSister" />
+ <java-symbol type="string" name="relationTypeSpouse" />
+ <java-symbol type="string" name="relative_time" />
+ <java-symbol type="string" name="reset" />
+ <java-symbol type="string" name="ringtone_default" />
+ <java-symbol type="string" name="ringtone_default_with_actual" />
+ <java-symbol type="string" name="ringtone_picker_title" />
+ <java-symbol type="string" name="ringtone_silent" />
+ <java-symbol type="string" name="ringtone_unknown" />
+ <java-symbol type="string" name="roamingText0" />
+ <java-symbol type="string" name="roamingText1" />
+ <java-symbol type="string" name="roamingText10" />
+ <java-symbol type="string" name="roamingText11" />
+ <java-symbol type="string" name="roamingText12" />
+ <java-symbol type="string" name="roamingText2" />
+ <java-symbol type="string" name="roamingText3" />
+ <java-symbol type="string" name="roamingText4" />
+ <java-symbol type="string" name="roamingText5" />
+ <java-symbol type="string" name="roamingText6" />
+ <java-symbol type="string" name="roamingText7" />
+ <java-symbol type="string" name="roamingText8" />
+ <java-symbol type="string" name="roamingText9" />
+ <java-symbol type="string" name="roamingTextSearching" />
+ <java-symbol type="string" name="same_month_md1_md2" />
+ <java-symbol type="string" name="same_month_md1_time1_md2_time2" />
+ <java-symbol type="string" name="same_month_mdy1_mdy2" />
+ <java-symbol type="string" name="same_month_mdy1_time1_mdy2_time2" />
+ <java-symbol type="string" name="same_month_wday1_md1_time1_wday2_md2_time2" />
+ <java-symbol type="string" name="same_month_wday1_md1_wday2_md2" />
+ <java-symbol type="string" name="same_month_wday1_mdy1_time1_wday2_mdy2_time2" />
+ <java-symbol type="string" name="same_month_wday1_mdy1_wday2_mdy2" />
+ <java-symbol type="string" name="same_year_md1_md2" />
+ <java-symbol type="string" name="same_year_md1_time1_md2_time2" />
+ <java-symbol type="string" name="same_year_mdy1_mdy2" />
+ <java-symbol type="string" name="same_year_mdy1_time1_mdy2_time2" />
+ <java-symbol type="string" name="same_year_wday1_md1_time1_wday2_md2_time2" />
+ <java-symbol type="string" name="same_year_wday1_md1_wday2_md2" />
+ <java-symbol type="string" name="same_year_wday1_mdy1_time1_wday2_mdy2_time2" />
+ <java-symbol type="string" name="same_year_wday1_mdy1_wday2_mdy2" />
+ <java-symbol type="string" name="save_password_label" />
+ <java-symbol type="string" name="save_password_message" />
+ <java-symbol type="string" name="save_password_never" />
+ <java-symbol type="string" name="save_password_notnow" />
+ <java-symbol type="string" name="save_password_remember" />
+ <java-symbol type="string" name="sendText" />
+ <java-symbol type="string" name="sending" />
+ <java-symbol type="string" name="serviceClassData" />
+ <java-symbol type="string" name="serviceClassDataAsync" />
+ <java-symbol type="string" name="serviceClassDataSync" />
+ <java-symbol type="string" name="serviceClassFAX" />
+ <java-symbol type="string" name="serviceClassPAD" />
+ <java-symbol type="string" name="serviceClassPacket" />
+ <java-symbol type="string" name="serviceClassSMS" />
+ <java-symbol type="string" name="serviceClassVoice" />
+ <java-symbol type="string" name="serviceDisabled" />
+ <java-symbol type="string" name="serviceEnabled" />
+ <java-symbol type="string" name="serviceEnabledFor" />
+ <java-symbol type="string" name="serviceErased" />
+ <java-symbol type="string" name="serviceNotProvisioned" />
+ <java-symbol type="string" name="serviceRegistered" />
+ <java-symbol type="string" name="setup_autofill" />
+ <java-symbol type="string" name="shareactionprovider_share_with" />
+ <java-symbol type="string" name="shareactionprovider_share_with_application" />
+ <java-symbol type="string" name="short_format_month" />
+ <java-symbol type="string" name="shutdown_confirm" />
+ <java-symbol type="string" name="shutdown_confirm_question" />
+ <java-symbol type="string" name="shutdown_progress" />
+ <java-symbol type="string" name="sim_added_message" />
+ <java-symbol type="string" name="sim_added_title" />
+ <java-symbol type="string" name="sim_removed_message" />
+ <java-symbol type="string" name="sim_removed_title" />
+ <java-symbol type="string" name="sim_restart_button" />
+ <java-symbol type="string" name="sipAddressTypeCustom" />
+ <java-symbol type="string" name="sipAddressTypeHome" />
+ <java-symbol type="string" name="sipAddressTypeOther" />
+ <java-symbol type="string" name="sipAddressTypeWork" />
+ <java-symbol type="string" name="sms_control_default_app_name" />
+ <java-symbol type="string" name="sms_control_message" />
+ <java-symbol type="string" name="sms_control_no" />
+ <java-symbol type="string" name="sms_control_title" />
+ <java-symbol type="string" name="sms_control_yes" />
+ <java-symbol type="string" name="submit" />
+ <java-symbol type="string" name="switch_off" />
+ <java-symbol type="string" name="switch_on" />
+ <java-symbol type="string" name="sync_binding_label" />
+ <java-symbol type="string" name="sync_do_nothing" />
+ <java-symbol type="string" name="sync_really_delete" />
+ <java-symbol type="string" name="sync_too_many_deletes_desc" />
+ <java-symbol type="string" name="sync_undo_deletes" />
+ <java-symbol type="string" name="terabyteShort" />
+ <java-symbol type="string" name="text_copied" />
+ <java-symbol type="string" name="time1_time2" />
+ <java-symbol type="string" name="time_date" />
+ <java-symbol type="string" name="time_of_day" />
+ <java-symbol type="string" name="time_picker_decrement_hour_button" />
+ <java-symbol type="string" name="time_picker_decrement_minute_button" />
+ <java-symbol type="string" name="time_picker_decrement_set_am_button" />
+ <java-symbol type="string" name="time_picker_dialog_title" />
+ <java-symbol type="string" name="time_picker_increment_hour_button" />
+ <java-symbol type="string" name="time_picker_increment_minute_button" />
+ <java-symbol type="string" name="time_picker_increment_set_pm_button" />
+ <java-symbol type="string" name="time_picker_separator" />
+ <java-symbol type="string" name="time_wday" />
+ <java-symbol type="string" name="time_wday_date" />
+ <java-symbol type="string" name="today" />
+ <java-symbol type="string" name="togglebutton_not_pressed" />
+ <java-symbol type="string" name="togglebutton_pressed" />
+ <java-symbol type="string" name="tomorrow" />
+ <java-symbol type="string" name="twelve_hour_time_format" />
+ <java-symbol type="string" name="twenty_four_hour_time_format" />
+ <java-symbol type="string" name="upload_file" />
+ <java-symbol type="string" name="volume_alarm" />
+ <java-symbol type="string" name="volume_icon_description_bluetooth" />
+ <java-symbol type="string" name="volume_icon_description_incall" />
+ <java-symbol type="string" name="volume_icon_description_media" />
+ <java-symbol type="string" name="volume_icon_description_notification" />
+ <java-symbol type="string" name="volume_icon_description_ringer" />
+ <java-symbol type="string" name="wait" />
+ <java-symbol type="string" name="wday1_date1_time1_wday2_date2_time2" />
+ <java-symbol type="string" name="wday1_date1_wday2_date2" />
+ <java-symbol type="string" name="wday_date" />
+ <java-symbol type="string" name="web_user_agent" />
+ <java-symbol type="string" name="web_user_agent_target_content" />
+ <java-symbol type="string" name="webpage_unresponsive" />
+ <java-symbol type="string" name="whichApplication" />
+ <java-symbol type="string" name="wifi_available_sign_in" />
+ <java-symbol type="string" name="wifi_available_sign_in_detailed" />
+ <java-symbol type="string" name="wifi_p2p_dialog_title" />
+ <java-symbol type="string" name="wifi_p2p_enabled_notification_message" />
+ <java-symbol type="string" name="wifi_p2p_enabled_notification_title" />
+ <java-symbol type="string" name="wifi_p2p_failed_message" />
+ <java-symbol type="string" name="wifi_p2p_from_message" />
+ <java-symbol type="string" name="wifi_p2p_invitation_sent_title" />
+ <java-symbol type="string" name="wifi_p2p_invitation_to_connect_title" />
+ <java-symbol type="string" name="wifi_p2p_show_pin_message" />
+ <java-symbol type="string" name="wifi_p2p_to_message" />
+ <java-symbol type="string" name="wifi_p2p_turnon_message" />
+ <java-symbol type="string" name="wifi_tether_configure_ssid_default" />
+ <java-symbol type="string" name="wifi_watchdog_network_disabled" />
+ <java-symbol type="string" name="wifi_watchdog_network_disabled_detailed" />
+ <java-symbol type="string" name="yesterday" />
+
+ <java-symbol type="plurals" name="abbrev_in_num_days" />
+ <java-symbol type="plurals" name="abbrev_in_num_hours" />
+ <java-symbol type="plurals" name="abbrev_in_num_minutes" />
+ <java-symbol type="plurals" name="abbrev_in_num_seconds" />
+ <java-symbol type="plurals" name="abbrev_num_days_ago" />
+ <java-symbol type="plurals" name="abbrev_num_hours_ago" />
+ <java-symbol type="plurals" name="abbrev_num_minutes_ago" />
+ <java-symbol type="plurals" name="abbrev_num_seconds_ago" />
+ <java-symbol type="plurals" name="in_num_days" />
+ <java-symbol type="plurals" name="in_num_hours" />
+ <java-symbol type="plurals" name="in_num_minutes" />
+ <java-symbol type="plurals" name="in_num_seconds" />
+ <java-symbol type="plurals" name="last_num_days" />
+ <java-symbol type="plurals" name="matches_found" />
+ <java-symbol type="plurals" name="num_days_ago" />
+ <java-symbol type="plurals" name="num_hours_ago" />
+ <java-symbol type="plurals" name="num_minutes_ago" />
+ <java-symbol type="plurals" name="num_seconds_ago" />
+
+ <java-symbol type="array" name="carrier_properties" />
+ <java-symbol type="array" name="config_data_usage_network_types" />
+ <java-symbol type="array" name="config_sms_enabled_locking_shift_tables" />
+ <java-symbol type="array" name="config_sms_enabled_single_shift_tables" />
+ <java-symbol type="array" name="config_twoDigitNumberPattern" />
+ <java-symbol type="array" name="networkAttributes" />
+ <java-symbol type="array" name="preloaded_color_state_lists" />
+ <java-symbol type="array" name="preloaded_drawables" />
+ <java-symbol type="array" name="special_locale_codes" />
+ <java-symbol type="array" name="special_locale_names" />
+
+ <java-symbol type="drawable" name="default_wallpaper" />
+ <java-symbol type="drawable" name="ic_suggestions_add" />
+ <java-symbol type="drawable" name="ic_suggestions_delete" />
+ <java-symbol type="drawable" name="indicator_input_error" />
+ <java-symbol type="drawable" name="overscroll_edge" />
+ <java-symbol type="drawable" name="overscroll_glow" />
+ <java-symbol type="drawable" name="popup_bottom_dark" />
+ <java-symbol type="drawable" name="popup_bottom_bright" />
+ <java-symbol type="drawable" name="popup_bottom_medium" />
+ <java-symbol type="drawable" name="popup_center_dark" />
+ <java-symbol type="drawable" name="popup_center_bright" />
+ <java-symbol type="drawable" name="popup_full_dark" />
+ <java-symbol type="drawable" name="popup_full_bright" />
+ <java-symbol type="drawable" name="popup_top_dark" />
+ <java-symbol type="drawable" name="popup_top_bright" />
+ <java-symbol type="drawable" name="search_spinner" />
+ <java-symbol type="drawable" name="sym_app_on_sd_unavailable_icon" />
+ <java-symbol type="drawable" name="text_edit_side_paste_window" />
+ <java-symbol type="drawable" name="text_edit_paste_window" />
+ <java-symbol type="drawable" name="btn_check_off" />
+ <java-symbol type="drawable" name="btn_code_lock_default_holo" />
+ <java-symbol type="drawable" name="btn_code_lock_touched_holo" />
+ <java-symbol type="drawable" name="clock_dial" />
+ <java-symbol type="drawable" name="clock_hand_hour" />
+ <java-symbol type="drawable" name="clock_hand_minute" />
+ <java-symbol type="drawable" name="emo_im_angel" />
+ <java-symbol type="drawable" name="emo_im_cool" />
+ <java-symbol type="drawable" name="emo_im_crying" />
+ <java-symbol type="drawable" name="emo_im_embarrassed" />
+ <java-symbol type="drawable" name="emo_im_foot_in_mouth" />
+ <java-symbol type="drawable" name="emo_im_happy" />
+ <java-symbol type="drawable" name="emo_im_kissing" />
+ <java-symbol type="drawable" name="emo_im_laughing" />
+ <java-symbol type="drawable" name="emo_im_lips_are_sealed" />
+ <java-symbol type="drawable" name="emo_im_money_mouth" />
+ <java-symbol type="drawable" name="emo_im_sad" />
+ <java-symbol type="drawable" name="emo_im_surprised" />
+ <java-symbol type="drawable" name="emo_im_tongue_sticking_out" />
+ <java-symbol type="drawable" name="emo_im_undecided" />
+ <java-symbol type="drawable" name="emo_im_winking" />
+ <java-symbol type="drawable" name="emo_im_wtf" />
+ <java-symbol type="drawable" name="emo_im_yelling" />
+ <java-symbol type="drawable" name="expander_close_holo_dark" />
+ <java-symbol type="drawable" name="expander_open_holo_dark" />
+ <java-symbol type="drawable" name="ic_audio_alarm" />
+ <java-symbol type="drawable" name="ic_audio_alarm_mute" />
+ <java-symbol type="drawable" name="ic_audio_bt" />
+ <java-symbol type="drawable" name="ic_audio_bt_mute" />
+ <java-symbol type="drawable" name="ic_audio_notification" />
+ <java-symbol type="drawable" name="ic_audio_notification_mute" />
+ <java-symbol type="drawable" name="ic_audio_phone" />
+ <java-symbol type="drawable" name="ic_audio_ring_notif" />
+ <java-symbol type="drawable" name="ic_audio_ring_notif_mute" />
+ <java-symbol type="drawable" name="ic_audio_ring_notif_vibrate" />
+ <java-symbol type="drawable" name="ic_audio_vol" />
+ <java-symbol type="drawable" name="ic_audio_vol_mute" />
+ <java-symbol type="drawable" name="ic_bullet_key_permission" />
+ <java-symbol type="drawable" name="ic_contact_picture" />
+ <java-symbol type="drawable" name="ic_dialog_usb" />
+ <java-symbol type="drawable" name="ic_emergency" />
+ <java-symbol type="drawable" name="ic_media_stop" />
+ <java-symbol type="drawable" name="ic_text_dot" />
+ <java-symbol type="drawable" name="indicator_code_lock_drag_direction_green_up" />
+ <java-symbol type="drawable" name="indicator_code_lock_drag_direction_red_up" />
+ <java-symbol type="drawable" name="indicator_code_lock_point_area_default_holo" />
+ <java-symbol type="drawable" name="indicator_code_lock_point_area_green_holo" />
+ <java-symbol type="drawable" name="indicator_code_lock_point_area_red_holo" />
+ <java-symbol type="drawable" name="jog_dial_arrow_long_left_green" />
+ <java-symbol type="drawable" name="jog_dial_arrow_long_right_red" />
+ <java-symbol type="drawable" name="jog_dial_arrow_short_left_and_right" />
+ <java-symbol type="drawable" name="jog_dial_bg" />
+ <java-symbol type="drawable" name="jog_dial_dimple" />
+ <java-symbol type="drawable" name="jog_dial_dimple_dim" />
+ <java-symbol type="drawable" name="jog_tab_bar_left_generic" />
+ <java-symbol type="drawable" name="jog_tab_bar_right_generic" />
+ <java-symbol type="drawable" name="jog_tab_left_generic" />
+ <java-symbol type="drawable" name="jog_tab_right_generic" />
+ <java-symbol type="drawable" name="jog_tab_target_gray" />
+ <java-symbol type="drawable" name="picture_emergency" />
+ <java-symbol type="drawable" name="platlogo" />
+ <java-symbol type="drawable" name="stat_notify_sync_error" />
+ <java-symbol type="drawable" name="stat_notify_wifi_in_range" />
+ <java-symbol type="drawable" name="stat_sys_gps_on" />
+ <java-symbol type="drawable" name="stat_sys_tether_wifi" />
+ <java-symbol type="drawable" name="status_bar_background" />
+ <java-symbol type="drawable" name="sym_keyboard_shift" />
+ <java-symbol type="drawable" name="sym_keyboard_shift_locked" />
+ <java-symbol type="drawable" name="tab_bottom_left" />
+ <java-symbol type="drawable" name="tab_bottom_left_v4" />
+ <java-symbol type="drawable" name="tab_bottom_right" />
+ <java-symbol type="drawable" name="tab_bottom_right_v4" />
+ <java-symbol type="drawable" name="tab_indicator_v4" />
+ <java-symbol type="drawable" name="text_select_handle_left" />
+ <java-symbol type="drawable" name="text_select_handle_right" />
+ <java-symbol type="drawable" name="unknown_image" />
+ <java-symbol type="drawable" name="unlock_default" />
+ <java-symbol type="drawable" name="unlock_halo" />
+ <java-symbol type="drawable" name="unlock_ring" />
+ <java-symbol type="drawable" name="unlock_wave" />
+
+ <java-symbol type="layout" name="action_bar_home" />
+ <java-symbol type="layout" name="action_bar_title_item" />
+ <java-symbol type="layout" name="action_menu_item_layout" />
+ <java-symbol type="layout" name="action_menu_layout" />
+ <java-symbol type="layout" name="action_mode_close_item" />
+ <java-symbol type="layout" name="alert_dialog" />
+ <java-symbol type="layout" name="choose_account" />
+ <java-symbol type="layout" name="choose_account_row" />
+ <java-symbol type="layout" name="choose_account_type" />
+ <java-symbol type="layout" name="choose_selected_account_row" />
+ <java-symbol type="layout" name="choose_type_and_account" />
+ <java-symbol type="layout" name="grant_credentials_permission" />
+ <java-symbol type="layout" name="number_picker" />
+ <java-symbol type="layout" name="permissions_package_list_item" />
+ <java-symbol type="layout" name="popup_menu_item_layout" />
+ <java-symbol type="layout" name="remote_views_adapter_default_loading_view" />
+ <java-symbol type="layout" name="search_bar" />
+ <java-symbol type="layout" name="search_dropdown_item_icons_2line" />
+ <java-symbol type="layout" name="search_view" />
+ <java-symbol type="layout" name="select_dialog" />
+ <java-symbol type="layout" name="simple_dropdown_hint" />
+ <java-symbol type="layout" name="status_bar_latest_event_content" />
+ <java-symbol type="layout" name="status_bar_latest_event_content_large_icon" />
+ <java-symbol type="layout" name="status_bar_latest_event_ticker" />
+ <java-symbol type="layout" name="status_bar_latest_event_ticker_large_icon" />
+ <java-symbol type="layout" name="text_edit_action_popup_text" />
+ <java-symbol type="layout" name="text_drag_thumbnail" />
+ <java-symbol type="layout" name="typing_filter" />
+ <java-symbol type="layout" name="activity_chooser_view" />
+ <java-symbol type="layout" name="activity_chooser_view_list_item" />
+ <java-symbol type="layout" name="activity_list" />
+ <java-symbol type="layout" name="activity_list_item_2" />
+ <java-symbol type="layout" name="alert_dialog_progress" />
+ <java-symbol type="layout" name="always_use_checkbox" />
+ <java-symbol type="layout" name="app_permission_item" />
+ <java-symbol type="layout" name="app_perms_summary" />
+ <java-symbol type="layout" name="calendar_view" />
+ <java-symbol type="layout" name="character_picker" />
+ <java-symbol type="layout" name="character_picker_button" />
+ <java-symbol type="layout" name="date_picker" />
+ <java-symbol type="layout" name="date_picker_dialog" />
+ <java-symbol type="layout" name="expanded_menu_layout" />
+ <java-symbol type="layout" name="fragment_bread_crumb_item" />
+ <java-symbol type="layout" name="fragment_bread_crumbs" />
+ <java-symbol type="layout" name="heavy_weight_switcher" />
+ <java-symbol type="layout" name="icon_menu_item_layout" />
+ <java-symbol type="layout" name="icon_menu_layout" />
+ <java-symbol type="layout" name="input_method" />
+ <java-symbol type="layout" name="input_method_extract_view" />
+ <java-symbol type="layout" name="js_prompt" />
+ <java-symbol type="layout" name="list_content_simple" />
+ <java-symbol type="layout" name="list_menu_item_checkbox" />
+ <java-symbol type="layout" name="list_menu_item_icon" />
+ <java-symbol type="layout" name="list_menu_item_layout" />
+ <java-symbol type="layout" name="list_menu_item_radio" />
+ <java-symbol type="layout" name="locale_picker_item" />
+ <java-symbol type="layout" name="media_controller" />
+ <java-symbol type="layout" name="preference" />
+ <java-symbol type="layout" name="preference_header_item" />
+ <java-symbol type="layout" name="preference_list_content" />
+ <java-symbol type="layout" name="preference_list_content_single" />
+ <java-symbol type="layout" name="preference_list_fragment" />
+ <java-symbol type="layout" name="preference_widget_seekbar" />
+ <java-symbol type="layout" name="progress_dialog" />
+ <java-symbol type="layout" name="resolve_list_item" />
+ <java-symbol type="layout" name="seekbar_dialog" />
+ <java-symbol type="layout" name="select_dialog_singlechoice_holo" />
+ <java-symbol type="layout" name="ssl_certificate" />
+ <java-symbol type="layout" name="tab_content" />
+ <java-symbol type="layout" name="tab_indicator_holo" />
+ <java-symbol type="layout" name="textview_hint" />
+ <java-symbol type="layout" name="time_picker" />
+ <java-symbol type="layout" name="time_picker_dialog" />
+ <java-symbol type="layout" name="transient_notification" />
+ <java-symbol type="layout" name="volume_adjust" />
+ <java-symbol type="layout" name="volume_adjust_item" />
+ <java-symbol type="layout" name="web_text_view_dropdown" />
+ <java-symbol type="layout" name="webview_find" />
+ <java-symbol type="layout" name="webview_select_singlechoice" />
+ <java-symbol type="layout" name="wifi_p2p_dialog" />
+ <java-symbol type="layout" name="wifi_p2p_dialog_row" />
+ <java-symbol type="layout" name="zoom_container" />
+ <java-symbol type="layout" name="zoom_controls" />
+ <java-symbol type="layout" name="zoom_magnify" />
+
+ <java-symbol type="anim" name="slide_in_child_bottom" />
+ <java-symbol type="anim" name="slide_in_right" />
+ <java-symbol type="anim" name="slide_out_left" />
+
+ <java-symbol type="menu" name="webview_copy" />
+ <java-symbol type="menu" name="webview_find" />
+
+ <java-symbol type="xml" name="password_kbd_qwerty" />
+ <java-symbol type="xml" name="autotext" />
+ <java-symbol type="xml" name="eri" />
+ <java-symbol type="xml" name="password_kbd_numeric" />
+ <java-symbol type="xml" name="password_kbd_qwerty_shifted" />
+ <java-symbol type="xml" name="password_kbd_symbols" />
+ <java-symbol type="xml" name="password_kbd_symbols_shift" />
+ <java-symbol type="xml" name="power_profile" />
+ <java-symbol type="xml" name="time_zones_by_country" />
+
+ <java-symbol type="raw" name="incognito_mode_start_page" />
+ <java-symbol type="raw" name="loaderror" />
+ <java-symbol type="raw" name="nodomain" />
+
+ <java-symbol type="style" name="Animation.DropDownUp" />
+ <java-symbol type="style" name="Animation.DropDownDown" />
+ <java-symbol type="style" name="Animation.PopupWindow" />
+ <java-symbol type="style" name="Animation.TypingFilter" />
+ <java-symbol type="style" name="Animation.TypingFilterRestore" />
+ <java-symbol type="style" name="Theme.DeviceDefault.Dialog.Alert" />
+ <java-symbol type="style" name="Theme.DeviceDefault.Light.Dialog.Alert" />
+ <java-symbol type="style" name="Theme.Dialog.Alert" />
+ <java-symbol type="style" name="Theme.Holo.Dialog.Alert" />
+ <java-symbol type="style" name="Theme.Holo.Light.Dialog.Alert" />
+ <java-symbol type="style" name="ActiveWallpaperSettings" />
+ <java-symbol type="style" name="Animation.InputMethodFancy" />
+ <java-symbol type="style" name="Animation.Wallpaper" />
+ <java-symbol type="style" name="Animation.ZoomButtons" />
+ <java-symbol type="style" name="PreviewWallpaperSettings" />
+ <java-symbol type="style" name="TextAppearance.SlidingTabActive" />
+ <java-symbol type="style" name="TextAppearance.SlidingTabNormal" />
+ <java-symbol type="style" name="Theme.DeviceDefault.Dialog.NoFrame" />
+ <java-symbol type="style" name="Theme.IconMenu" />
+ <java-symbol type="style" name="Theme.Panel.Volume" />
+
+ <!-- From android.policy -->
+ <java-symbol type="anim" name="app_starting_exit" />
+ <java-symbol type="anim" name="lock_screen_behind_enter" />
+ <java-symbol type="array" name="config_keyboardTapVibePattern" />
+ <java-symbol type="array" name="config_longPressVibePattern" />
+ <java-symbol type="array" name="config_safeModeDisabledVibePattern" />
+ <java-symbol type="array" name="config_safeModeEnabledVibePattern" />
+ <java-symbol type="array" name="config_virtualKeyVibePattern" />
+ <java-symbol type="array" name="lockscreen_targets_when_silent" />
+ <java-symbol type="array" name="lockscreen_targets_when_soundon" />
+ <java-symbol type="array" name="lockscreen_targets_with_camera" />
+ <java-symbol type="attr" name="actionModePopupWindowStyle" />
+ <java-symbol type="attr" name="dialogCustomTitleDecorLayout" />
+ <java-symbol type="attr" name="dialogTitleDecorLayout" />
+ <java-symbol type="attr" name="dialogTitleIconsDecorLayout" />
+ <java-symbol type="bool" name="config_allowAllRotations" />
+ <java-symbol type="bool" name="config_bypass_keyguard_if_slider_open" />
+ <java-symbol type="bool" name="config_carDockEnablesAccelerometer" />
+ <java-symbol type="bool" name="config_deskDockEnablesAccelerometer" />
+ <java-symbol type="bool" name="config_disableMenuKeyInLockScreen" />
+ <java-symbol type="bool" name="config_enableLockBeforeUnlockScreen" />
+ <java-symbol type="bool" name="config_enableLockScreenRotation" />
+ <java-symbol type="bool" name="config_reverseDefaultRotation" />
+ <java-symbol type="bool" name="config_showNavigationBar" />
+ <java-symbol type="bool" name="target_honeycomb_needs_options_menu" />
+ <java-symbol type="dimen" name="navigation_bar_height" />
+ <java-symbol type="dimen" name="navigation_bar_width" />
+ <java-symbol type="dimen" name="status_bar_height" />
+ <java-symbol type="dimen" name="system_bar_height" />
+ <java-symbol type="drawable" name="ic_jog_dial_sound_off" />
+ <java-symbol type="drawable" name="ic_jog_dial_sound_on" />
+ <java-symbol type="drawable" name="ic_jog_dial_unlock" />
+ <java-symbol type="drawable" name="ic_jog_dial_vibrate_on" />
+ <java-symbol type="drawable" name="ic_lock_airplane_mode" />
+ <java-symbol type="drawable" name="ic_lock_airplane_mode_off" />
+ <java-symbol type="drawable" name="ic_menu_cc" />
+ <java-symbol type="drawable" name="jog_tab_bar_left_unlock" />
+ <java-symbol type="drawable" name="jog_tab_bar_right_sound_off" />
+ <java-symbol type="drawable" name="jog_tab_bar_right_sound_on" />
+ <java-symbol type="drawable" name="jog_tab_left_unlock" />
+ <java-symbol type="drawable" name="jog_tab_right_sound_off" />
+ <java-symbol type="drawable" name="jog_tab_right_sound_on" />
+ <java-symbol type="drawable" name="jog_tab_target_green" />
+ <java-symbol type="drawable" name="jog_tab_target_yellow" />
+ <java-symbol type="drawable" name="menu_background" />
+ <java-symbol type="drawable" name="stat_sys_secure" />
+ <java-symbol type="id" name="action_mode_bar_stub" />
+ <java-symbol type="id" name="alarm_status" />
+ <java-symbol type="id" name="backspace" />
+ <java-symbol type="id" name="button0" />
+ <java-symbol type="id" name="button4" />
+ <java-symbol type="id" name="button5" />
+ <java-symbol type="id" name="button6" />
+ <java-symbol type="id" name="button7" />
+ <java-symbol type="id" name="carrier" />
+ <java-symbol type="id" name="date" />
+ <java-symbol type="id" name="eight" />
+ <java-symbol type="id" name="emergencyCallButton" />
+ <java-symbol type="id" name="faceLockAreaView" />
+ <java-symbol type="id" name="five" />
+ <java-symbol type="id" name="forgotPatternButton" />
+ <java-symbol type="id" name="four" />
+ <java-symbol type="id" name="headerText" />
+ <java-symbol type="id" name="icon_menu_presenter" />
+ <java-symbol type="id" name="instructions" />
+ <java-symbol type="id" name="keyboard" />
+ <java-symbol type="id" name="list_menu_presenter" />
+ <java-symbol type="id" name="lockPattern" />
+ <java-symbol type="id" name="lock_screen" />
+ <java-symbol type="id" name="login" />
+ <java-symbol type="id" name="nine" />
+ <java-symbol type="id" name="no_applications_message" />
+ <java-symbol type="id" name="ok" />
+ <java-symbol type="id" name="one" />
+ <java-symbol type="id" name="option1" />
+ <java-symbol type="id" name="option2" />
+ <java-symbol type="id" name="option3" />
+ <java-symbol type="id" name="password" />
+ <java-symbol type="id" name="passwordEntry" />
+ <java-symbol type="id" name="pinDel" />
+ <java-symbol type="id" name="pinDisplay" />
+ <java-symbol type="id" name="propertyOf" />
+ <java-symbol type="id" name="pukDel" />
+ <java-symbol type="id" name="pukDisplay" />
+ <java-symbol type="id" name="right_icon" />
+ <java-symbol type="id" name="seven" />
+ <java-symbol type="id" name="six" />
+ <java-symbol type="id" name="status" />
+ <java-symbol type="id" name="status1" />
+ <java-symbol type="id" name="switch_ime_button" />
+ <java-symbol type="id" name="three" />
+ <java-symbol type="id" name="title_container" />
+ <java-symbol type="id" name="topHeader" />
+ <java-symbol type="id" name="transport" />
+ <java-symbol type="id" name="transport_bg_protect" />
+ <java-symbol type="id" name="two" />
+ <java-symbol type="id" name="unlock_widget" />
+ <java-symbol type="id" name="zero" />
+ <java-symbol type="integer" name="config_carDockRotation" />
+ <java-symbol type="integer" name="config_defaultUiModeType" />
+ <java-symbol type="integer" name="config_deskDockRotation" />
+ <java-symbol type="integer" name="config_lidKeyboardAccessibility" />
+ <java-symbol type="integer" name="config_lidNavigationAccessibility" />
+ <java-symbol type="integer" name="config_lidOpenRotation" />
+ <java-symbol type="integer" name="config_longPressOnHomeBehavior" />
+ <java-symbol type="layout" name="global_actions_item" />
+ <java-symbol type="layout" name="global_actions_silent_mode" />
+ <java-symbol type="layout" name="keyguard_screen_glogin_unlock" />
+ <java-symbol type="layout" name="keyguard_screen_password_landscape" />
+ <java-symbol type="layout" name="keyguard_screen_password_portrait" />
+ <java-symbol type="layout" name="keyguard_screen_sim_pin_landscape" />
+ <java-symbol type="layout" name="keyguard_screen_sim_pin_portrait" />
+ <java-symbol type="layout" name="keyguard_screen_sim_puk_landscape" />
+ <java-symbol type="layout" name="keyguard_screen_sim_puk_portrait" />
+ <java-symbol type="layout" name="keyguard_screen_tab_unlock" />
+ <java-symbol type="layout" name="keyguard_screen_tab_unlock_land" />
+ <java-symbol type="layout" name="keyguard_screen_unlock_landscape" />
+ <java-symbol type="layout" name="keyguard_screen_unlock_portrait" />
+ <java-symbol type="layout" name="recent_apps_dialog" />
+ <java-symbol type="layout" name="screen_action_bar" />
+ <java-symbol type="layout" name="screen_action_bar_overlay" />
+ <java-symbol type="layout" name="screen_custom_title" />
+ <java-symbol type="layout" name="screen_progress" />
+ <java-symbol type="layout" name="screen_simple" />
+ <java-symbol type="layout" name="screen_simple_overlay_action_mode" />
+ <java-symbol type="layout" name="screen_title" />
+ <java-symbol type="layout" name="screen_title_icons" />
+ <java-symbol type="string" name="abbrev_wday_month_day_no_year" />
+ <java-symbol type="string" name="android_upgrading_title" />
+ <java-symbol type="string" name="config_defaultDreamComponent" />
+ <java-symbol type="string" name="faceunlock_multiple_failures" />
+ <java-symbol type="string" name="global_action_power_off" />
+ <java-symbol type="string" name="global_actions_airplane_mode_off_status" />
+ <java-symbol type="string" name="global_actions_airplane_mode_on_status" />
+ <java-symbol type="string" name="global_actions_toggle_airplane_mode" />
+ <java-symbol type="string" name="invalidPuk" />
+ <java-symbol type="string" name="keyguard_password_enter_pin_code" />
+ <java-symbol type="string" name="keyguard_password_enter_puk_code" />
+ <java-symbol type="string" name="keyguard_password_wrong_pin_code" />
+ <java-symbol type="string" name="lockscreen_carrier_default" />
+ <java-symbol type="string" name="lockscreen_charged" />
+ <java-symbol type="string" name="lockscreen_failed_attempts_almost_at_wipe" />
+ <java-symbol type="string" name="lockscreen_failed_attempts_almost_glogin" />
+ <java-symbol type="string" name="lockscreen_failed_attempts_now_wiping" />
+ <java-symbol type="string" name="lockscreen_forgot_pattern_button_text" />
+ <java-symbol type="string" name="lockscreen_glogin_checking_password" />
+ <java-symbol type="string" name="lockscreen_glogin_forgot_pattern" />
+ <java-symbol type="string" name="lockscreen_glogin_invalid_input" />
+ <java-symbol type="string" name="lockscreen_glogin_too_many_attempts" />
+ <java-symbol type="string" name="lockscreen_instructions_when_pattern_disabled" />
+ <java-symbol type="string" name="lockscreen_low_battery" />
+ <java-symbol type="string" name="lockscreen_missing_sim_instructions" />
+ <java-symbol type="string" name="lockscreen_missing_sim_instructions_long" />
+ <java-symbol type="string" name="lockscreen_missing_sim_message_short" />
+ <java-symbol type="string" name="lockscreen_network_locked_message" />
+ <java-symbol type="string" name="lockscreen_password_wrong" />
+ <java-symbol type="string" name="lockscreen_pattern_instructions" />
+ <java-symbol type="string" name="lockscreen_pattern_wrong" />
+ <java-symbol type="string" name="lockscreen_permanent_disabled_sim_instructions" />
+ <java-symbol type="string" name="lockscreen_plugged_in" />
+ <java-symbol type="string" name="lockscreen_sim_locked_message" />
+ <java-symbol type="string" name="lockscreen_sim_puk_locked_message" />
+ <java-symbol type="string" name="lockscreen_sim_unlock_progress_dialog_message" />
+ <java-symbol type="string" name="lockscreen_sound_off_label" />
+ <java-symbol type="string" name="lockscreen_sound_on_label" />
+ <java-symbol type="string" name="lockscreen_too_many_failed_attempts_countdown" />
+ <java-symbol type="string" name="lockscreen_too_many_failed_attempts_dialog_message" />
+ <java-symbol type="string" name="lockscreen_too_many_failed_password_attempts_dialog_message" />
+ <java-symbol type="string" name="lockscreen_too_many_failed_pin_attempts_dialog_message" />
+ <java-symbol type="string" name="lockscreen_unlock_label" />
+ <java-symbol type="string" name="status_bar_device_locked" />
+ <java-symbol type="style" name="Animation.LockScreen" />
+ <java-symbol type="style" name="Theme.Dialog.RecentApplications" />
+ <java-symbol type="style" name="Theme.ExpandedMenu" />
+
+ <!-- From services -->
+ <java-symbol type="anim" name="screen_rotate_0_enter" />
+ <java-symbol type="anim" name="screen_rotate_0_exit" />
+ <java-symbol type="anim" name="screen_rotate_180_enter" />
+ <java-symbol type="anim" name="screen_rotate_180_exit" />
+ <java-symbol type="anim" name="screen_rotate_finish_enter" />
+ <java-symbol type="anim" name="screen_rotate_finish_exit" />
+ <java-symbol type="anim" name="screen_rotate_minus_90_enter" />
+ <java-symbol type="anim" name="screen_rotate_minus_90_exit" />
+ <java-symbol type="anim" name="screen_rotate_plus_90_enter" />
+ <java-symbol type="anim" name="screen_rotate_plus_90_exit" />
+ <java-symbol type="anim" name="screen_rotate_start_enter" />
+ <java-symbol type="anim" name="screen_rotate_start_exit" />
+ <java-symbol type="anim" name="window_move_from_decor" />
+ <java-symbol type="array" name="config_autoBrightnessButtonBacklightValues" />
+ <java-symbol type="array" name="config_autoBrightnessKeyboardBacklightValues" />
+ <java-symbol type="array" name="config_autoBrightnessLcdBacklightValues" />
+ <java-symbol type="array" name="config_autoBrightnessLevels" />
+ <java-symbol type="array" name="config_protectedNetworks" />
+ <java-symbol type="array" name="config_statusBarIcons" />
+ <java-symbol type="array" name="config_tether_bluetooth_regexs" />
+ <java-symbol type="array" name="config_tether_dhcp_range" />
+ <java-symbol type="array" name="config_tether_upstream_types" />
+ <java-symbol type="array" name="config_tether_usb_regexs" />
+ <java-symbol type="array" name="config_tether_wifi_regexs" />
+ <java-symbol type="array" name="config_usbHostBlacklist" />
+ <java-symbol type="array" name="radioAttributes" />
+ <java-symbol type="bool" name="config_animateScreenLights" />
+ <java-symbol type="bool" name="config_automatic_brightness_available" />
+ <java-symbol type="bool" name="config_sf_limitedAlpha" />
+ <java-symbol type="bool" name="config_unplugTurnsOnScreen" />
+ <java-symbol type="bool" name="config_wifi_background_scan_support" />
+ <java-symbol type="bool" name="config_wifi_dual_band_support" />
+ <java-symbol type="bool" name="config_wimaxEnabled" />
+ <java-symbol type="bool" name="show_ongoing_ime_switcher" />
+ <java-symbol type="color" name="config_defaultNotificationColor" />
+ <java-symbol type="drawable" name="ic_notification_ime_default" />
+ <java-symbol type="drawable" name="stat_notify_car_mode" />
+ <java-symbol type="drawable" name="stat_notify_disabled" />
+ <java-symbol type="drawable" name="stat_notify_disk_full" />
+ <java-symbol type="drawable" name="stat_sys_adb" />
+ <java-symbol type="drawable" name="stat_sys_battery" />
+ <java-symbol type="drawable" name="stat_sys_battery_charge" />
+ <java-symbol type="drawable" name="stat_sys_battery_unknown" />
+ <java-symbol type="drawable" name="stat_sys_data_usb" />
+ <java-symbol type="drawable" name="stat_sys_tether_bluetooth" />
+ <java-symbol type="drawable" name="stat_sys_tether_general" />
+ <java-symbol type="drawable" name="stat_sys_tether_usb" />
+ <java-symbol type="drawable" name="stat_sys_throttled" />
+ <java-symbol type="drawable" name="vpn_connected" />
+ <java-symbol type="id" name="ask_checkbox" />
+ <java-symbol type="id" name="compat_checkbox" />
+ <java-symbol type="id" name="original_app_icon" />
+ <java-symbol type="id" name="original_message" />
+ <java-symbol type="id" name="radio" />
+ <java-symbol type="id" name="reask_hint" />
+ <java-symbol type="id" name="replace_app_icon" />
+ <java-symbol type="id" name="replace_message" />
+ <java-symbol type="fraction" name="config_dimBehindFadeDuration" />
+ <java-symbol type="integer" name="config_carDockKeepsScreenOn" />
+ <java-symbol type="integer" name="config_criticalBatteryWarningLevel" />
+ <java-symbol type="integer" name="config_datause_notification_type" />
+ <java-symbol type="integer" name="config_datause_polling_period_sec" />
+ <java-symbol type="integer" name="config_datause_threshold_bytes" />
+ <java-symbol type="integer" name="config_datause_throttle_kbitsps" />
+ <java-symbol type="integer" name="config_defaultNotificationLedOff" />
+ <java-symbol type="integer" name="config_defaultNotificationLedOn" />
+ <java-symbol type="integer" name="config_deskDockKeepsScreenOn" />
+ <java-symbol type="integer" name="config_lightSensorWarmupTime" />
+ <java-symbol type="integer" name="config_lowBatteryCloseWarningLevel" />
+ <java-symbol type="integer" name="config_lowBatteryWarningLevel" />
+ <java-symbol type="integer" name="config_networkPolicyDefaultWarning" />
+ <java-symbol type="integer" name="config_networkTransitionTimeout" />
+ <java-symbol type="integer" name="config_notificationsBatteryFullARGB" />
+ <java-symbol type="integer" name="config_notificationsBatteryLedOff" />
+ <java-symbol type="integer" name="config_notificationsBatteryLedOn" />
+ <java-symbol type="integer" name="config_notificationsBatteryLowARGB" />
+ <java-symbol type="integer" name="config_notificationsBatteryMediumARGB" />
+ <java-symbol type="integer" name="config_radioScanningTimeout" />
+ <java-symbol type="integer" name="config_screenBrightnessDim" />
+ <java-symbol type="integer" name="config_virtualKeyQuietTimeMillis" />
+ <java-symbol type="layout" name="am_compat_mode_dialog" />
+ <java-symbol type="layout" name="launch_warning" />
+ <java-symbol type="layout" name="safe_mode" />
+ <java-symbol type="layout" name="simple_list_item_2_single_choice" />
+ <java-symbol type="plurals" name="wifi_available" />
+ <java-symbol type="plurals" name="wifi_available_detailed" />
+ <java-symbol type="string" name="accessibility_binding_label" />
+ <java-symbol type="string" name="adb_active_notification_message" />
+ <java-symbol type="string" name="adb_active_notification_title" />
+ <java-symbol type="string" name="aerr_application" />
+ <java-symbol type="string" name="aerr_process" />
+ <java-symbol type="string" name="aerr_title" />
+ <java-symbol type="string" name="android_upgrading_apk" />
+ <java-symbol type="string" name="android_upgrading_complete" />
+ <java-symbol type="string" name="android_upgrading_starting_apps" />
+ <java-symbol type="string" name="anr_activity_application" />
+ <java-symbol type="string" name="anr_activity_process" />
+ <java-symbol type="string" name="anr_application_process" />
+ <java-symbol type="string" name="anr_process" />
+ <java-symbol type="string" name="anr_title" />
+ <java-symbol type="string" name="car_mode_disable_notification_message" />
+ <java-symbol type="string" name="car_mode_disable_notification_title" />
+ <java-symbol type="string" name="chooser_wallpaper" />
+ <java-symbol type="string" name="config_datause_iface" />
+ <java-symbol type="string" name="config_geocodeProvider" />
+ <java-symbol type="string" name="config_networkLocationProvider" />
+ <java-symbol type="string" name="config_wimaxManagerClassname" />
+ <java-symbol type="string" name="config_wimaxNativeLibLocation" />
+ <java-symbol type="string" name="config_wimaxServiceClassname" />
+ <java-symbol type="string" name="config_wimaxServiceJarLocation" />
+ <java-symbol type="string" name="config_wimaxStateTrackerClassname" />
+ <java-symbol type="string" name="configure_input_methods" />
+ <java-symbol type="string" name="data_usage_3g_limit_snoozed_title" />
+ <java-symbol type="string" name="data_usage_3g_limit_title" />
+ <java-symbol type="string" name="data_usage_4g_limit_snoozed_title" />
+ <java-symbol type="string" name="data_usage_4g_limit_title" />
+ <java-symbol type="string" name="data_usage_limit_body" />
+ <java-symbol type="string" name="data_usage_limit_snoozed_body" />
+ <java-symbol type="string" name="data_usage_mobile_limit_snoozed_title" />
+ <java-symbol type="string" name="data_usage_mobile_limit_title" />
+ <java-symbol type="string" name="data_usage_restricted_body" />
+ <java-symbol type="string" name="data_usage_restricted_title" />
+ <java-symbol type="string" name="data_usage_warning_body" />
+ <java-symbol type="string" name="data_usage_warning_title" />
+ <java-symbol type="string" name="data_usage_wifi_limit_snoozed_title" />
+ <java-symbol type="string" name="data_usage_wifi_limit_title" />
+ <java-symbol type="string" name="default_wallpaper_component" />
+ <java-symbol type="string" name="dlg_ok" />
+ <java-symbol type="string" name="factorytest_failed" />
+ <java-symbol type="string" name="factorytest_no_action" />
+ <java-symbol type="string" name="factorytest_not_system" />
+ <java-symbol type="string" name="factorytest_reboot" />
+ <java-symbol type="string" name="heavy_weight_notification" />
+ <java-symbol type="string" name="heavy_weight_notification_detail" />
+ <java-symbol type="string" name="input_method_binding_label" />
+ <java-symbol type="string" name="launch_warning_original" />
+ <java-symbol type="string" name="launch_warning_replace" />
+ <java-symbol type="string" name="launch_warning_title" />
+ <java-symbol type="string" name="low_internal_storage_view_text" />
+ <java-symbol type="string" name="low_internal_storage_view_title" />
+ <java-symbol type="string" name="report" />
+ <java-symbol type="string" name="select_input_method" />
+ <java-symbol type="string" name="smv_application" />
+ <java-symbol type="string" name="smv_process" />
+ <java-symbol type="string" name="tethered_notification_message" />
+ <java-symbol type="string" name="tethered_notification_title" />
+ <java-symbol type="string" name="throttle_warning_notification_message" />
+ <java-symbol type="string" name="throttle_warning_notification_title" />
+ <java-symbol type="string" name="throttled_notification_message" />
+ <java-symbol type="string" name="throttled_notification_title" />
+ <java-symbol type="string" name="usb_accessory_notification_title" />
+ <java-symbol type="string" name="usb_cd_installer_notification_title" />
+ <java-symbol type="string" name="usb_mtp_notification_title" />
+ <java-symbol type="string" name="usb_notification_message" />
+ <java-symbol type="string" name="usb_ptp_notification_title" />
+ <java-symbol type="string" name="vpn_text" />
+ <java-symbol type="string" name="vpn_text_long" />
+ <java-symbol type="string" name="vpn_title" />
+ <java-symbol type="string" name="vpn_title_long" />
+ <java-symbol type="string" name="wallpaper_binding_label" />
+ <java-symbol type="style" name="Theme.Dialog.AppError" />
+ <java-symbol type="style" name="Theme.Toast" />
+ <java-symbol type="xml" name="storage_list" />
+
+ <!-- From SystemUI -->
+ <java-symbol type="anim" name="push_down_in" />
+ <java-symbol type="anim" name="push_down_out" />
+ <java-symbol type="anim" name="push_up_in" />
+ <java-symbol type="anim" name="push_up_out" />
+ <java-symbol type="dimen" name="status_bar_icon_size" />
+ <java-symbol type="dimen" name="system_bar_icon_size" />
+ <java-symbol type="drawable" name="list_selector_pressed_holo_dark" />
+ <java-symbol type="drawable" name="scrubber_control_disabled_holo" />
+ <java-symbol type="drawable" name="scrubber_control_selector_holo" />
+ <java-symbol type="drawable" name="scrubber_progress_horizontal_holo_dark" />
+ <java-symbol type="drawable" name="usb_android" />
+ <java-symbol type="drawable" name="usb_android_connected" />
+ <java-symbol type="id" name="banner" />
+ <java-symbol type="id" name="mount_button" />
+ <java-symbol type="id" name="unmount_button" />
+ <java-symbol type="layout" name="usb_storage_activity" />
+ <java-symbol type="string" name="chooseUsbActivity" />
+ <java-symbol type="string" name="dlg_confirm_kill_storage_users_text" />
+ <java-symbol type="string" name="dlg_confirm_kill_storage_users_title" />
+ <java-symbol type="string" name="dlg_error_title" />
+ <java-symbol type="string" name="ext_media_badremoval_notification_message" />
+ <java-symbol type="string" name="ext_media_badremoval_notification_title" />
+ <java-symbol type="string" name="ext_media_checking_notification_message" />
+ <java-symbol type="string" name="ext_media_checking_notification_title" />
+ <java-symbol type="string" name="ext_media_nofs_notification_message" />
+ <java-symbol type="string" name="ext_media_nofs_notification_title" />
+ <java-symbol type="string" name="ext_media_nomedia_notification_message" />
+ <java-symbol type="string" name="ext_media_nomedia_notification_title" />
+ <java-symbol type="string" name="ext_media_safe_unmount_notification_message" />
+ <java-symbol type="string" name="ext_media_safe_unmount_notification_title" />
+ <java-symbol type="string" name="ext_media_unmountable_notification_message" />
+ <java-symbol type="string" name="ext_media_unmountable_notification_title" />
+ <java-symbol type="string" name="usb_storage_error_message" />
+ <java-symbol type="string" name="usb_storage_message" />
+ <java-symbol type="string" name="usb_storage_notification_message" />
+ <java-symbol type="string" name="usb_storage_notification_title" />
+ <java-symbol type="string" name="usb_storage_stop_message" />
+ <java-symbol type="string" name="usb_storage_stop_notification_message" />
+ <java-symbol type="string" name="usb_storage_stop_notification_title" />
+ <java-symbol type="string" name="usb_storage_stop_title" />
+ <java-symbol type="string" name="usb_storage_title" />
+
+ <!-- ImfTest -->
+ <java-symbol type="layout" name="auto_complete_list" />
+
+ <!-- From SettingsProvider -->
+ <java-symbol type="raw" name="fallbackring" />
+
+ <!-- From Settings -->
+ <java-symbol type="array" name="config_mobile_hotspot_provision_app" />
+ <java-symbol type="bool" name="config_intrusiveNotificationLed" />
+ <java-symbol type="dimen" name="preference_fragment_padding_bottom" />
+ <java-symbol type="dimen" name="preference_fragment_padding_side" />
+ <java-symbol type="drawable" name="expander_ic_maximized" />
+ <java-symbol type="drawable" name="expander_ic_minimized" />
+ <java-symbol type="drawable" name="ic_menu_archive" />
+ <java-symbol type="drawable" name="ic_menu_goto" />
+ <java-symbol type="drawable" name="title_bar_medium" />
+ <java-symbol type="id" name="body" />
+ <java-symbol type="string" name="fast_scroll_alphabet" />
+ <java-symbol type="string" name="ssl_certificate" />
+
+ <!-- From Phone -->
+ <java-symbol type="bool" name="config_built_in_sip_phone" />
+
+ <!-- From TelephonyProvider -->
+ <java-symbol type="xml" name="apns" />
+
+ <!-- From ContactsProvider -->
+ <java-symbol type="array" name="common_nicknames" />
+ <java-symbol type="drawable" name="call_contact" />
+ <java-symbol type="drawable" name="create_contact" />
+ <java-symbol type="string" name="common_name_prefixes" />
+ <java-symbol type="string" name="common_last_name_prefixes" />
+ <java-symbol type="string" name="common_name_suffixes" />
+ <java-symbol type="string" name="common_name_conjunctions" />
+ <java-symbol type="string" name="dial_number_using" />
+ <java-symbol type="string" name="create_contact_using" />
+
+ <!-- From DownloadProvider -->
+ <java-symbol type="integer" name="config_MaxConcurrentDownloadsAllowed" />
+ <java-symbol type="integer" name="config_downloadDataDirSize" />
+ <java-symbol type="integer" name="config_downloadDataDirLowSpaceThreshold" />
+
+ <!-- From Contacts -->
+ <java-symbol type="drawable" name="quickcontact_badge_overlay_dark" />
+
+ <!-- From Browser -->
+ <java-symbol type="drawable" name="ic_menu_moreoverflow_normal_holo_dark" />
+ <java-symbol type="id" name="placeholder" />
+ <java-symbol type="string" name="ssl_certificate_is_valid" />
+
+ <!-- From Mms -->
+ <java-symbol type="drawable" name="ic_menu_play_clip" />
+
+ <!-- From Stk -->
+ <java-symbol type="bool" name="config_sf_slowBlur" />
+ <java-symbol type="drawable" name="ic_volume" />
+ <java-symbol type="drawable" name="stat_notify_sim_toolkit" />
+
+ <!-- From PinyinIME(!!!) -->
+ <java-symbol type="string" name="inputMethod" />
+
<!-- AndroidManifest.xml attributes. -->
<eat-comment />
diff --git a/tools/aapt/AaptAssets.cpp b/tools/aapt/AaptAssets.cpp
index 6ce665b..ec61403 100644
--- a/tools/aapt/AaptAssets.cpp
+++ b/tools/aapt/AaptAssets.cpp
@@ -1837,6 +1837,49 @@
// =========================================================================
// =========================================================================
+status_t AaptSymbols::applyJavaSymbols(const sp<AaptSymbols>& javaSymbols)
+{
+ status_t err = NO_ERROR;
+ size_t N = javaSymbols->mSymbols.size();
+ for (size_t i=0; i<N; i++) {
+ const String8& name = javaSymbols->mSymbols.keyAt(i);
+ const AaptSymbolEntry& entry = javaSymbols->mSymbols.valueAt(i);
+ ssize_t pos = mSymbols.indexOfKey(name);
+ if (pos < 0) {
+ entry.sourcePos.error("Symbol '%s' declared with <java-symbol> not defined\n", name.string());
+ err = UNKNOWN_ERROR;
+ continue;
+ }
+ //printf("**** setting symbol #%d/%d %s to isJavaSymbol=%d\n",
+ // i, N, name.string(), entry.isJavaSymbol ? 1 : 0);
+ mSymbols.editValueAt(pos).isJavaSymbol = entry.isJavaSymbol;
+ }
+
+ N = javaSymbols->mNestedSymbols.size();
+ for (size_t i=0; i<N; i++) {
+ const String8& name = javaSymbols->mNestedSymbols.keyAt(i);
+ const sp<AaptSymbols>& symbols = javaSymbols->mNestedSymbols.valueAt(i);
+ ssize_t pos = mNestedSymbols.indexOfKey(name);
+ if (pos < 0) {
+ SourcePos pos;
+ pos.error("Java symbol dir %s not defined\n", name.string());
+ err = UNKNOWN_ERROR;
+ continue;
+ }
+ //printf("**** applying java symbols in dir %s\n", name.string());
+ status_t myerr = mNestedSymbols.valueAt(pos)->applyJavaSymbols(symbols);
+ if (myerr != NO_ERROR) {
+ err = myerr;
+ }
+ }
+
+ return err;
+}
+
+// =========================================================================
+// =========================================================================
+// =========================================================================
+
AaptAssets::AaptAssets()
: AaptDir(String8(), String8()),
mChanged(false), mHaveIncludedAssets(false), mRes(NULL)
@@ -2404,6 +2447,48 @@
return sym;
}
+sp<AaptSymbols> AaptAssets::getJavaSymbolsFor(const String8& name)
+{
+ sp<AaptSymbols> sym = mJavaSymbols.valueFor(name);
+ if (sym == NULL) {
+ sym = new AaptSymbols();
+ mJavaSymbols.add(name, sym);
+ }
+ return sym;
+}
+
+status_t AaptAssets::applyJavaSymbols()
+{
+ size_t N = mJavaSymbols.size();
+ for (size_t i=0; i<N; i++) {
+ const String8& name = mJavaSymbols.keyAt(i);
+ const sp<AaptSymbols>& symbols = mJavaSymbols.valueAt(i);
+ ssize_t pos = mSymbols.indexOfKey(name);
+ if (pos < 0) {
+ SourcePos pos;
+ pos.error("Java symbol dir %s not defined\n", name.string());
+ return UNKNOWN_ERROR;
+ }
+ //printf("**** applying java symbols in dir %s\n", name.string());
+ status_t err = mSymbols.valueAt(pos)->applyJavaSymbols(symbols);
+ if (err != NO_ERROR) {
+ return err;
+ }
+ }
+
+ return NO_ERROR;
+}
+
+bool AaptAssets::isJavaSymbol(const AaptSymbolEntry& sym, bool includePrivate) const {
+ //printf("isJavaSymbol %s: public=%d, includePrivate=%d, isJavaSymbol=%d\n",
+ // sym.name.string(), sym.isPublic ? 1 : 0, includePrivate ? 1 : 0,
+ // sym.isJavaSymbol ? 1 : 0);
+ if (!mHavePrivateSymbols) return true;
+ if (sym.isPublic) return true;
+ if (includePrivate && sym.isJavaSymbol) return true;
+ return false;
+}
+
status_t AaptAssets::buildIncludedResources(Bundle* bundle)
{
if (!mHaveIncludedAssets) {
diff --git a/tools/aapt/AaptAssets.h b/tools/aapt/AaptAssets.h
index c5a397c..1c653e1 100644
--- a/tools/aapt/AaptAssets.h
+++ b/tools/aapt/AaptAssets.h
@@ -315,16 +315,16 @@
{
public:
AaptSymbolEntry()
- : isPublic(false), typeCode(TYPE_UNKNOWN)
+ : isPublic(false), isJavaSymbol(false), typeCode(TYPE_UNKNOWN)
{
}
AaptSymbolEntry(const String8& _name)
- : name(_name), isPublic(false), typeCode(TYPE_UNKNOWN)
+ : name(_name), isPublic(false), isJavaSymbol(false), typeCode(TYPE_UNKNOWN)
{
}
AaptSymbolEntry(const AaptSymbolEntry& o)
: name(o.name), sourcePos(o.sourcePos), isPublic(o.isPublic)
- , comment(o.comment), typeComment(o.typeComment)
+ , isJavaSymbol(o.isJavaSymbol), comment(o.comment), typeComment(o.typeComment)
, typeCode(o.typeCode), int32Val(o.int32Val), stringVal(o.stringVal)
{
}
@@ -332,6 +332,7 @@
{
sourcePos = o.sourcePos;
isPublic = o.isPublic;
+ isJavaSymbol = o.isJavaSymbol;
comment = o.comment;
typeComment = o.typeComment;
typeCode = o.typeCode;
@@ -344,6 +345,7 @@
SourcePos sourcePos;
bool isPublic;
+ bool isJavaSymbol;
String16 comment;
String16 typeComment;
@@ -401,6 +403,15 @@
return NO_ERROR;
}
+ status_t makeSymbolJavaSymbol(const String8& name, const SourcePos& pos) {
+ if (!check_valid_symbol_name(name, pos, "symbol")) {
+ return BAD_VALUE;
+ }
+ AaptSymbolEntry& sym = edit_symbol(name, &pos);
+ sym.isJavaSymbol = true;
+ return NO_ERROR;
+ }
+
void appendComment(const String8& name, const String16& comment, const SourcePos& pos) {
if (comment.size() <= 0) {
return;
@@ -441,6 +452,8 @@
return sym;
}
+ status_t applyJavaSymbols(const sp<AaptSymbols>& javaSymbols);
+
const KeyedVector<String8, AaptSymbolEntry>& getSymbols() const
{ return mSymbols; }
const DefaultKeyedVector<String8, sp<AaptSymbols> >& getNestedSymbols() const
@@ -509,7 +522,11 @@
virtual ~AaptAssets() { delete mRes; }
const String8& getPackage() const { return mPackage; }
- void setPackage(const String8& package) { mPackage = package; mSymbolsPrivatePackage = package; }
+ void setPackage(const String8& package) {
+ mPackage = package;
+ mSymbolsPrivatePackage = package;
+ mHavePrivateSymbols = false;
+ }
const SortedVector<AaptGroupEntry>& getGroupEntries() const;
@@ -532,11 +549,22 @@
sp<AaptSymbols> getSymbolsFor(const String8& name);
+ sp<AaptSymbols> getJavaSymbolsFor(const String8& name);
+
+ status_t applyJavaSymbols();
+
const DefaultKeyedVector<String8, sp<AaptSymbols> >& getSymbols() const { return mSymbols; }
String8 getSymbolsPrivatePackage() const { return mSymbolsPrivatePackage; }
- void setSymbolsPrivatePackage(const String8& pkg) { mSymbolsPrivatePackage = pkg; }
-
+ void setSymbolsPrivatePackage(const String8& pkg) {
+ mSymbolsPrivatePackage = pkg;
+ mHavePrivateSymbols = mSymbolsPrivatePackage != mPackage;
+ }
+
+ bool havePrivateSymbols() const { return mHavePrivateSymbols; }
+
+ bool isJavaSymbol(const AaptSymbolEntry& sym, bool includePrivate) const;
+
status_t buildIncludedResources(Bundle* bundle);
status_t addIncludedResources(const sp<AaptFile>& file);
const ResTable& getIncludedResources() const;
@@ -576,7 +604,9 @@
String8 mPackage;
SortedVector<AaptGroupEntry> mGroupEntries;
DefaultKeyedVector<String8, sp<AaptSymbols> > mSymbols;
+ DefaultKeyedVector<String8, sp<AaptSymbols> > mJavaSymbols;
String8 mSymbolsPrivatePackage;
+ bool mHavePrivateSymbols;
Vector<sp<AaptDir> > mResDirs;
diff --git a/tools/aapt/Command.cpp b/tools/aapt/Command.cpp
index 607056a..c79e243 100644
--- a/tools/aapt/Command.cpp
+++ b/tools/aapt/Command.cpp
@@ -1617,6 +1617,12 @@
goto bail;
}
+ // Update symbols with information about which ones are needed as Java symbols.
+ assets->applyJavaSymbols();
+ if (SourcePos::hasErrors()) {
+ goto bail;
+ }
+
// If we've been asked to generate a dependency file, do that here
if (bundle->getGenDependencies()) {
// If this is the packaging step, generate the dependency file next to
@@ -1638,7 +1644,7 @@
}
// Write out R.java constants
- if (assets->getPackage() == assets->getSymbolsPrivatePackage()) {
+ if (!assets->havePrivateSymbols()) {
if (bundle->getCustomPackage() == NULL) {
// Write the R.java file into the appropriate class directory
// e.g. gen/com/foo/app/R.java
diff --git a/tools/aapt/Resource.cpp b/tools/aapt/Resource.cpp
index c0fe538..7eaf528 100644
--- a/tools/aapt/Resource.cpp
+++ b/tools/aapt/Resource.cpp
@@ -1808,7 +1808,7 @@
if (sym.typeCode != AaptSymbolEntry::TYPE_INT32) {
continue;
}
- if (!includePrivate && !sym.isPublic) {
+ if (!assets->isJavaSymbol(sym, includePrivate)) {
continue;
}
String16 name(sym.name);
@@ -1864,7 +1864,7 @@
if (sym.typeCode != AaptSymbolEntry::TYPE_STRING) {
continue;
}
- if (!includePrivate && !sym.isPublic) {
+ if (!assets->isJavaSymbol(sym, includePrivate)) {
continue;
}
String16 name(sym.name);
@@ -1976,7 +1976,8 @@
"\n"
"package %s;\n\n", package.string());
- status_t err = writeSymbolClass(fp, assets, includePrivate, symbols, className, 0, bundle->getNonConstantId());
+ status_t err = writeSymbolClass(fp, assets, includePrivate, symbols,
+ className, 0, bundle->getNonConstantId());
if (err != NO_ERROR) {
return err;
}
diff --git a/tools/aapt/ResourceTable.cpp b/tools/aapt/ResourceTable.cpp
index f59bba2..7a0499c 100644
--- a/tools/aapt/ResourceTable.cpp
+++ b/tools/aapt/ResourceTable.cpp
@@ -753,6 +753,7 @@
const String16 public16("public");
const String16 public_padding16("public-padding");
const String16 private_symbols16("private-symbols");
+ const String16 java_symbol16("java-symbol");
const String16 add_resource16("add-resource");
const String16 skip16("skip");
const String16 eat_comment16("eat-comment");
@@ -1058,6 +1059,49 @@
}
continue;
+ } else if (strcmp16(block.getElementName(&len), java_symbol16.string()) == 0) {
+ SourcePos srcPos(in->getPrintableSource(), block.getLineNumber());
+
+ String16 type;
+ ssize_t typeIdx = block.indexOfAttribute(NULL, "type");
+ if (typeIdx < 0) {
+ srcPos.error("A 'type' attribute is required for <public>\n");
+ hasErrors = localHasErrors = true;
+ }
+ type = String16(block.getAttributeStringValue(typeIdx, &len));
+
+ String16 name;
+ ssize_t nameIdx = block.indexOfAttribute(NULL, "name");
+ if (nameIdx < 0) {
+ srcPos.error("A 'name' attribute is required for <public>\n");
+ hasErrors = localHasErrors = true;
+ }
+ name = String16(block.getAttributeStringValue(nameIdx, &len));
+
+ sp<AaptSymbols> symbols = assets->getJavaSymbolsFor(String8("R"));
+ if (symbols != NULL) {
+ symbols = symbols->addNestedSymbol(String8(type), srcPos);
+ }
+ if (symbols != NULL) {
+ symbols->makeSymbolJavaSymbol(String8(name), srcPos);
+ String16 comment(
+ block.getComment(&len) ? block.getComment(&len) : nulStr);
+ symbols->appendComment(String8(name), comment, srcPos);
+ } else {
+ srcPos.error("Unable to create symbols!\n");
+ hasErrors = localHasErrors = true;
+ }
+
+ while ((code=block.next()) != ResXMLTree::END_DOCUMENT && code != ResXMLTree::BAD_DOCUMENT) {
+ if (code == ResXMLTree::END_TAG) {
+ if (strcmp16(block.getElementName(&len), java_symbol16.string()) == 0) {
+ break;
+ }
+ }
+ }
+ continue;
+
+
} else if (strcmp16(block.getElementName(&len), add_resource16.string()) == 0) {
SourcePos srcPos(in->getPrintableSource(), block.getLineNumber());