diff options
| -rw-r--r-- | core/res/MakeJavaSymbols.sed | 25 | ||||
| -rw-r--r-- | core/res/res/values/public.xml | 1508 | ||||
| -rw-r--r-- | tools/aapt/AaptAssets.cpp | 85 | ||||
| -rw-r--r-- | tools/aapt/AaptAssets.h | 42 | ||||
| -rw-r--r-- | tools/aapt/Command.cpp | 8 | ||||
| -rw-r--r-- | tools/aapt/Resource.cpp | 7 | ||||
| -rw-r--r-- | tools/aapt/ResourceTable.cpp | 44 | 
7 files changed, 1709 insertions, 10 deletions
diff --git a/core/res/MakeJavaSymbols.sed b/core/res/MakeJavaSymbols.sed new file mode 100644 index 000000000000..d02fffae17e5 --- /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 4d97ad20f4a5..e3c2bd8636ef 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 6ce665b467f1..ec614039c8ae 100644 --- a/tools/aapt/AaptAssets.cpp +++ b/tools/aapt/AaptAssets.cpp @@ -1837,6 +1837,49 @@ String8 AaptDir::getPrintableSource() const  // =========================================================================  // ========================================================================= +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 @@ sp<AaptSymbols> AaptAssets::getSymbolsFor(const String8& name)      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 c5a397c73390..1c653e1fb77a 100644 --- a/tools/aapt/AaptAssets.h +++ b/tools/aapt/AaptAssets.h @@ -315,16 +315,16 @@ class AaptSymbolEntry  {  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 @@ public:      {          sourcePos = o.sourcePos;          isPublic = o.isPublic; +        isJavaSymbol = o.isJavaSymbol;          comment = o.comment;          typeComment = o.typeComment;          typeCode = o.typeCode; @@ -344,6 +345,7 @@ public:      SourcePos sourcePos;      bool isPublic; +    bool isJavaSymbol;      String16 comment;      String16 typeComment; @@ -401,6 +403,15 @@ public:          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 @@ public:          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 @@ public:      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 @@ public:      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 @@ private:      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 607056a6c1f2..c79e243828c4 100644 --- a/tools/aapt/Command.cpp +++ b/tools/aapt/Command.cpp @@ -1617,6 +1617,12 @@ int doPackage(Bundle* bundle)          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 @@ int doPackage(Bundle* bundle)      }      // 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 c0fe5380afa5..7eaf5280f5d4 100644 --- a/tools/aapt/Resource.cpp +++ b/tools/aapt/Resource.cpp @@ -1808,7 +1808,7 @@ static status_t writeSymbolClass(          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 @@ static status_t writeSymbolClass(          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 @@ status_t writeResourceSymbols(Bundle* bundle, const sp<AaptAssets>& assets,          "\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 f59bba2815a2..7a0499c476d7 100644 --- a/tools/aapt/ResourceTable.cpp +++ b/tools/aapt/ResourceTable.cpp @@ -753,6 +753,7 @@ status_t compileResourceFile(Bundle* bundle,      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 @@ status_t compileResourceFile(Bundle* bundle,                  }                  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());  |