[Galaxy Tab 2 7" Android Development] ketut.kumajaya:
Just for fun phone enabler package for Samsung 4.2.2 ROM. This package enabling the core functionality of P3100 as a phone by using P3110 ROM with a patched framework-res.apk (simple as that) + a bunch of binaries taken from Samsung 4.2.2 for P3100.

Update 21/08/2013:

1. TouchWiz messaging app works!

2. P3100's Help and Mini Message app, P3100 Factory Mode asset

Update 20/08/2013:

Driving mode options enabled

Update 19/08/2013:

1. WiFi tethering options in Settings, works!

2. Data network mode in boot menu

3. Mini Dialer and SIM Toolkit app

Working:

1. Phone app enabled, phone call works!

2. Microphone auto route works, confirmed by phone call, recording app, and Sensor List app

3. Proximity sensor works, confirmed by Sensor List app

4. Text messaging works!

5. Data network option in Settings enabled, data network and signal bar icon/animation visible

6. USB and bluetooth tethering enabled. USB tethering works, bluetooth tethering untested

Known problems:

1. No WiFi tethering, WiFi tethering option still not visible in Settings

2. Original TouchWiz messaging app not working. Messaging app in this package taken from CM 10.1, TouchWized icon

3. Incomplete quick setting buttons and boot menu (not the same as original P3100 ROM)

4. Proximity sensor in call does not seem to work

5. No driving mode

Patch for framework-res.apk to enable phone functionality:

[B]diff -U 3 -H -d -r -N -- a/res/values/arrays.xml b/res/values/arrays.xml[/B]
[COLOR="Blue"]--- a/res/values/arrays.xml	2013-08-16 23:01:54.347983857 +0700
+++ b/res/values/arrays.xml	2013-08-15 16:52:17.547015064 +0700
@@ -512,7 +512,12 @@[/COLOR]
</integer-array>
<string-array name="networkAttributes">
<item>wifi,1,1,1,-1,true</item>
[COLOR="Red"]- <item>bluetooth,7,7,0,-1,true</item>[/COLOR]
[COLOR="Blue"]+ <item>mobile,0,0,0,-1,true</item>
+ <item>mobile_mms,2,0,2,60000,true</item>
+ <item>mobile_supl,3,0,2,60000,true</item>
+ <item>mobile_dun,4,0,3,60000,true</item>
+ <item>mobile_hipri,5,0,3,60000,true</item>
+ <item>mobile_bluetooth,7,7,1,-1,true</item>[/COLOR]
<item>wifi_p2p,13,1,0,-1,true</item>
</string-array>
<integer-array name="config_protectedNetworks">
[COLOR="Blue"]@@ -522,6 +527,7 @@[/COLOR]
</integer-array>
<string-array name="radioAttributes">
<item>1,1</item>
[COLOR="Blue"]+ <item>0,1</item>[/COLOR]
<item>7,1</item>
</string-array>
<integer-array name="config_data_usage_network_types">
[B]diff -U 3 -H -d -r -N -- a/res/values/bools.xml b/res/values/bools.xml[/B]
[COLOR="Blue"]--- a/res/values/bools.xml	2013-08-16 23:01:53.915981717 +0700
+++ b/res/values/bools.xml	2013-08-15 16:52:52.383187815 +0700
@@ -49,8 +49,8 @@[/COLOR]
<bool name="config_bluetooth_wide_band_speech">false</bool>
<bool name="config_bluetooth_adapter_quick_switch">true</bool>
<bool name="config_bluetooth_address_validation">false</bool>
[COLOR="Red"]- <bool name="config_voice_capable">false</bool>
- <bool name="config_sms_capable">false</bool>[/COLOR]
[COLOR="Blue"]+ <bool name="config_voice_capable">true</bool>
+ <bool name="config_sms_capable">true</bool>[/COLOR]
<bool name="config_bluetooth_default_profiles">true</bool>
<bool name="config_sip_wifi_only">false</bool>
<bool name="config_built_in_sip_phone">true</bool>

So, based on above patch I can make a phone disabler patch:

[B]diff -U 3 -H -d -r -N -- a/res/values/arrays.xml b/res/values/arrays.xml[/B]
[COLOR="Blue"]--- a/res/values/arrays.xml	2013-08-15 16:52:17.547015064 +0700
+++ b/res/values/arrays.xml	2013-08-16 23:01:54.347983857 +0700
@@ -512,12 +512,7 @@[/COLOR]
</integer-array>
<string-array name="networkAttributes">
<item>wifi,1,1,1,-1,true</item>
[COLOR="Red"]- <item>mobile,0,0,0,-1,true</item>
- <item>mobile_mms,2,0,2,60000,true</item>
- <item>mobile_supl,3,0,2,60000,true</item>
- <item>mobile_dun,4,0,3,60000,true</item>
- <item>mobile_hipri,5,0,3,60000,true</item>
- <item>mobile_bluetooth,7,7,1,-1,true</item>[/COLOR]
[COLOR="Blue"]+ <item>bluetooth,7,7,0,-1,true</item>[/COLOR]
<item>wifi_p2p,13,1,0,-1,true</item>
</string-array>
<integer-array name="config_protectedNetworks">
[COLOR="Blue"]@@ -527,7 +522,6 @@[/COLOR]
</integer-array>
<string-array name="radioAttributes">
<item>1,1</item>
[COLOR="Red"]- <item>0,1</item>[/COLOR]
<item>7,1</item>
</string-array>
<integer-array name="config_data_usage_network_types">
[B]diff -U 3 -H -d -r -N -- a/res/values/bools.xml b/res/values/bools.xml[/B]
[COLOR="Blue"]--- a/res/values/bools.xml	2013-08-15 16:52:52.383187815 +0700
+++ b/res/values/bools.xml	2013-08-16 23:01:53.915981717 +0700
@@ -49,8 +49,8 @@[/COLOR]
<bool name="config_bluetooth_wide_band_speech">false</bool>
<bool name="config_bluetooth_adapter_quick_switch">true</bool>
<bool name="config_bluetooth_address_validation">false</bool>
[COLOR="Red"]- <bool name="config_voice_capable">true</bool>
- <bool name="config_sms_capable">true</bool>[/COLOR]
[COLOR="Blue"]+ <bool name="config_voice_capable">false</bool>
+ <bool name="config_sms_capable">false</bool>[/COLOR]
<bool name="config_bluetooth_default_profiles">true</bool>
<bool name="config_sip_wifi_only">false</bool>
<bool name="config_built_in_sip_phone">true</bool>

SecSettings.apk patch to enable WiFi tethering and driving mode options:

[B]diff -U 3 -H -d -r -N -- a/smali/com/android/settings/Settings.smali b/smali/com/android/settings/Settings.smali[/B]
[COLOR="Blue"]--- a/smali/com/android/settings/Settings.smali	2013-08-20 11:05:24.000000000 +0700
+++ b/smali/com/android/settings/Settings.smali	2013-08-20 12:07:22.975951782 +0700
@@ -3168,7 +3168,7 @@[/COLOR]

move-result v3

[COLOR="Red"]- if-nez v3, :cond_46[/COLOR]
[COLOR="Blue"]+ if-eqz v3, :cond_0[/COLOR]

.line 1351
:cond_46
[B]diff -U 3 -H -d -r -N -- a/smali/com/android/settings/TetherSettings.smali b/smali/com/android/settings/TetherSettings.smali[/B]
[COLOR="Blue"]--- a/smali/com/android/settings/TetherSettings.smali	2013-08-19 09:52:18.730398282 +0700
+++ b/smali/com/android/settings/TetherSettings.smali	2013-08-19 09:52:02.406483296 +0700
@@ -2885,9 +2885,6 @@[/COLOR]
:goto_1
iput-boolean v7, p0, Lcom/android/settings/TetherSettings;->wifiAvailable:Z

[COLOR="Red"]- .line 248
- iput-boolean v9, p0, Lcom/android/settings/TetherSettings;->wifiAvailable:Z
-[/COLOR]
.line 252
iget-object v7, p0, Lcom/android/settings/TetherSettings;->mBluetoothRegexs:[Ljava/lang/String;

android.policy.jar patch to enable "Data network mode" in boot menu:

[B]diff -U 3 -H -d -r -N -- a/smali/com/android/internal/policy/impl/GlobalActions$1.smali b/smali/com/android/internal/policy/impl/GlobalActions$1.smali[/B]
[COLOR="Blue"]--- a/smali/com/android/internal/policy/impl/GlobalActions$1.smali	2013-08-19 14:13:58.382406456 +0700
+++ b/smali/com/android/internal/policy/impl/GlobalActions$1.smali	2013-08-19 14:11:17.469608532 +0700
@@ -396,7 +396,7 @@[/COLOR]

move-result v1

[COLOR="Red"]- if-eqz v1, :cond_0[/COLOR]
[COLOR="Blue"]+ if-eqz v1, :cond_5[/COLOR]

.line 378
const-string v1, "SKT"
[COLOR="Blue"]@@ -495,7 +495,31 @@[/COLOR]

.line 387
:cond_4
[COLOR="Red"]- if-nez v0, :cond_0[/COLOR]
[COLOR="Blue"]+ if-eqz v0, :cond_0
+
+ .line 398
+ .end local v0 #bRetVal:Z
+ :cond_5
+ iget-object v1, p0, Lcom/android/internal/policy/impl/GlobalActions$1;->this$0:Lcom/android/internal/policy/impl/GlobalActions;
+
+ #getter for: Lcom/android/internal/policy/impl/GlobalActions;->mContext:Landroid/content/Context;
+ invoke-static {v1}, Lcom/android/internal/policy/impl/GlobalActions;->access$000(Lcom/android/internal/policy/impl/GlobalActions;)Landroid/content/Context;
+
+ move-result-object v1
+
+ invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
+
+ move-result-object v1
+
+ const-string v2, "airplane_mode_on"
+
+ invoke-static {v1, v2, v4}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
+
+ move-result v1
+
+ if-nez v1, :cond_0
+
+ const/4 v4, 0x1[/COLOR]

goto :goto_0
.end method