接上文 Android2.2添加Ethernet 框架支持(一)
应用程序packages/apps/Settings目录下的改动:
复制packages/apps/Settings/src/com/android/settings/ethernet目录到源码packages/apps/Settings/src/com/android/settings/目录下;
复制文件packages/apps/Settings/src/com/android/settings/EthernetSettings.java到源码packages/apps/Settings/src/com/android/settings/目录下;
复制资源文件packages/apps/Settings/res/drawable-hdpi/ic_settings_ethernet.png
到源码packages/apps/Settings/res/drawable-hdpi/目录下;
复制资源文件packages/apps/Settings/res/drawable-mdpi/ic_settings_ethernet.png
到源码packages/apps/Settings/res/drawable-mdpi/目录下;
复制资源文件packages/apps/Settings/res/layout/eth_configure.xml
到源码packages/apps/Settings/res/layout/目录下;
复制资源文件packages/apps/Settings/res/xml/ethernet_settings.xml到源码packages/apps/Settings/res/xml/目录下;
修改文件packages/apps/Settings/res/values/strings.xml:
--- /home/thomas/android2.2/packages/apps/Settings/res/values/strings.xml 2011-07-04 15:38:22.937468920 +0800
+++ packages/apps/Settings/res/values/strings.xml 2011-09-07 15:05:16.701267002 +0800
@@ -1459,6 +1459,14 @@
<!-- Security & location settings screen, setting summary when Assisted GPS check box is clear -->
<string name="assisted_gps_disabled">Use server to assist GPS (uncheck to improve GPS performance)</string>
+ <!-- Advanced settings -->
+ <string name="advanced_settings">Advanced settings</string>
+ <string name="advanced_settings_title">Advanced settings</string>
+ <string name="remove_power_off_dialog_title">Remove power off dialog</string>
+ <string name="remove_power_off_dialog_summary">Do not show power off choices</string>
+ <string name="disable_power_off_confirmation_title">Disable power off / reboot confirmation</string>
+ <string name="disable_power_off_confirmation_summary">Do not request confirmation</string>
+
<!-- About --> <skip />
<!-- Main settings screen, setting title for the user to go into the About phone screen -->
<string name="about_settings">About phone</string>
@@ -1563,6 +1571,8 @@
<string name="lockpattern_settings_enable_summary">Must draw pattern to unlock screen</string>
<!-- Security & location settings screen, setting check box title. This setting controls whether a visible green line is drawn as the user moves his finger around while drawing the unlock pattern. If checked, this line is drawn. If unchecked, there is nothing drawn so the user does not reveal his pattern while he unlocks the phone.-->
<string name="lockpattern_settings_enable_visible_pattern_title">Use visible pattern</string>
+ <string name="lockpattern_settings_disable_lock_pattern_title">Disable showing screen lock</string>
+ <string name="lockpattern_settings_disable_lock_pattern_summary">Do not show screen lock</string>
<!-- Security & location settings screen, setting check box title. This setting controls whether tactile feedback will be produced when the user draws the pattern.-->
<string name="lockpattern_settings_enable_tactile_feedback_title">Use tactile feedback</string>
<!-- Security & location settings screen, setting option name when user has never set an unlock pattern -->
@@ -2528,4 +2538,29 @@
<string name="sound_category_calls_title">Incoming calls</string>
<string name="sound_category_notification_title">Notifications</string>
<string name="sound_category_feedback_title">Feedback</string>
+
+ <string name="disable_softkeyboard">Disable SoftKeyBoard</string>
+ <string name="softkeyboard_disabled">SoftKeyBoard disabled</string>
+ <string name="softkeyboard_enabled">SoftKeyBoard enabled</string>
+ <string name="keyboard_layout_title">Keyboard layout setting</string>
+ <string name="keyboard_layout_summary">Choose a keyboard layout</string>
+
+ <!-- Ethernet configuration dialog -->
+ <string name="eth_config_title">Configure Ethernet device</string>
+ <string name="eth_setting">Ethernet setting</string>
+ <string name="eth_dev_list">Ethernet Devices:</string>
+ <string name="eth_con_type">Connection Type</string>
+ <string name="eth_con_type_dhcp">Dhcp</string>
+ <string name="eth_con_type_manual">Static IP</string>
+ <string name="eth_dns">DNS address</string>
+ <string name="eth_gw">Default Router</string>
+ <string name="eth_ipaddr">IP address</string>
+ <string name="eth_quick_toggle_title">Ethernet</string>
+ <string name="eth_quick_toggle_summary">Turn on Ethernet</string>
+ <string name="eth_radio_ctrl_title">Ethernet configuration</string>
+ <string name="eth_conf_perf_title">Ethernet configuration</string>
+ <string name="eth_conf_summary">Configure Ethernet devices</string>
+ <string name="eth_mask">Netmask</string>
+ <string name="eth_toggle_summary_off">Turn off Ethernet</string>
+ <string name="eth_toggle_summary_on">Turn on Ethernet</string>
</resources>
8. 修改文件:packages/apps/Settings/res/xml/settings.xml
--- /home/thomas/android2.2/packages/apps/Settings/res/xml/settings.xml 2011-07-04 15:38:22.937468920 +0800
+++ packages/apps/Settings/res/xml/settings.xml 2011-09-07 15:11:14.953267001 +0800
@@ -30,6 +30,15 @@
</com.android.settings.IconPreferenceScreen>
<com.android.settings.IconPreferenceScreen
+ android:title="@string/eth_radio_ctrl_title"
+ settings:icon="@drawable/ic_settings_ethernet">
+ <intent
+ android:action="android.intent.action.MAIN"
+ android:targetPackage="com.android.settings"
+ android:targetClass="com.android.settings.EthernetSettings" />
+ </com.android.settings.IconPreferenceScreen>
+
+ <com.android.settings.IconPreferenceScreen
android:key="call_settings"
settings:icon="@drawable/ic_settings_call"
android:title="@string/call_settings_title">
@@ -118,21 +127,6 @@
android:targetClass="com.android.settings.deviceinfo.Memory" />
</com.android.settings.IconPreferenceScreen>
- <!-- Search.
- The settings activity will ensure that this is resolved to an
- activity on the system image, otherwise it will remove this
- preference.
- The intent action is the same as
- android.app.SearchManager.INTENT_ACTION_SEARCH_SETTINGS.
- -->
-
- <com.android.settings.IconPreferenceScreen
- settings:icon="@drawable/ic_settings_search"
- android:title="@string/search_settings"
- android:key="search_settings">
- <intent android:action="android.search.action.SEARCH_SETTINGS" />
- </com.android.settings.IconPreferenceScreen>
-
<!-- Language -->
<com.android.settings.IconPreferenceScreen
@@ -189,6 +183,17 @@
android:targetClass="com.android.settings.DateTimeSettings" />
</com.android.settings.IconPreferenceScreen>
+ <!-- Advanced settings-->
+
+ <com.android.settings.IconPreferenceScreen
+ settings:icon="@drawable/ic_settings_applications"
+ android:title="@string/advanced_settings_title">
+ <intent
+ android:action="android.intent.action.MAIN"
+ android:targetPackage="com.android.settings"
+ android:targetClass="com.android.settings.AdvancedSettings" />
+ </com.android.settings.IconPreferenceScreen>
+
<!-- About Device -->
<com.android.settings.IconPreferenceScreen
9. 修改文件:packages/apps/Settings/AndroidManifest.xml
--- /home/thomas/android2.2/packages/apps/Settings/AndroidManifest.xml 2011-07-04 15:38:22.873468920 +0800
+++ packages/apps/Settings/AndroidManifest.xml 2011-09-07 14:58:18.801267002 +0800
@@ -65,6 +65,40 @@
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
+ <!-- Ethernet controls -->
+ <activity android:name="EthernetSettings"
+ android:label="@string/eth_radio_ctrl_title"
+ >
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <action android:name="android.settings.ETHERNET_SETTINGS" />
+ <category android:name="android.intent.category.DEFAULT" />
+ <category android:name="android.intent.category.VOICE_LAUNCH" />
+ </intent-filter>
+ </activity>
+
+ <activity android:name=".ethernet.EthernetEnabler" android:label="@string/eth_setting"
+ android:clearTaskOnLaunch="true"
+ >
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <action android:name="android.settings.ETHERNET_SETTINGS" />
+ <category android:name="android.intent.category.DEFAULT" />
+ <category android:name="android.intent.category.VOICE_LAUNCH" />
+ <category android:name="com.android.settings.SHORTCUT" />
+ </intent-filter>
+ </activity>
+ <activity android:name=".ethernet.EthernetConfigure" android:label="@string/eth_conf_perf_title"
+ android:clearTaskOnLaunch="true"
+ >
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <action android:name="android.settings.ETHERNET_SETTINGS" />
+ <category android:name="android.intent.category.DEFAULT" />
+ <category android:name="android.intent.category.VOICE_LAUNCH" />
+ <category android:name="com.android.settings.SHORTCUT" />
+ </intent-filter>
+ </activity>
<!-- Wireless Controls -->
@@ -237,6 +271,15 @@
</intent-filter>
</activity>
+ <activity android:name="KeyboardPicker" android:label="@string/keyboard_layout_title">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <action android:name="android.settings.LOCALE_SETTINGS" />
+ <category android:name="android.intent.category.DEFAULT" />
+ <category android:name="android.intent.category.VOICE_LAUNCH" />
+ </intent-filter>
+ </activity>
+
<activity android:name="LanguageSettings"
android:label="@string/language_keyboard_settings_title"
android:clearTaskOnLaunch="true"
@@ -312,6 +355,16 @@
</intent-filter>
</activity>
+ <activity android:name="AdvancedSettings" android:label="@string/advanced_settings"
+ >
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <action android:name="android.settings.DEVICE_INFO_SETTINGS" />
+ <category android:name="android.intent.category.DEFAULT" />
+ <category android:name="android.intent.category.VOICE_LAUNCH" />
+ </intent-filter>
+ </activity>
+
<activity android:name="DeviceInfoSettings" android:label="@string/device_info_settings"
>
<intent-filter>
10. 修改build/core/pathmap.mk
--- /home/thomas/android2.2/build/core/pathmap.mk 2011-07-04 15:35:55.689468920 +0800
+++ build/core/pathmap.mk 2011-09-07 10:58:17.765267001 +0800
@@ -89,6 +89,7 @@
wifi \
vpn \
keystore \
+ ethernet \
)
注意:
如果对资源文件做了修改(添加/删除/修改),必须删掉临时编译文件,否则总是使用旧的临时文件编译;
针对APP,资源文件需删除的临时文件路径如下:
out/target/common/R/com/android;
out/target/common/obj/APPS;
out/target/product/tigger/obj/APPS;
整个删除编译比较耗时,还是找到中间文件删除比较有效;