[Asus  Eee Pad Transformer Prime] Doktaphex:
GPS Checkbox findings. Will update this post as I find more

So this is what I have found so far regarding GPS Checkbox missing code. I have been comparing the ICS SystemUI XML files with the HC SystemUI XML files.

I have found 3 pieces of code that differ so far.

SystemUI/res/values/ids.xml

<item type="id" name="quick_settings_powersaving_checkbox">false</item>
<item type="id" name="quick_settings_powersaving_separator">false</item>
<item type="id" name="quick_settings_normalspeed_checkbox">false</item>
<item type="id" name="quick_settings_normalspeed_separator">false</item>
<item type="id" name="quick_settings_turbo_checkbox">false</item>
<item type="id" name="quick_settings_turbo_separator">false</item>
<item type="id" name="quick_settings_dev_checkbox">false</item>
<item type="id" name="quick_settings_autorotate_checkbox">false</item>
<item type="id" name="quick_settings_wifi_checkbox">false</item>
<item type="id" name="quick_settings_bluetooth_checkbox">false</item>
<item type="id" name="quick_settings_silent_checkbox">false</item>
<item type="id" name="quick_settings_autosync_checkbox">false</item>
[B] [SIZE="4"]<item type="id" name="quick_settings_gps_checkbox">false</item>[/SIZE]
[/B]<item type="id" name="quick_settings_airplane_separator">false</item>
<item type="id" name="quick_settings_airplane_checkbox">false</item>
<item type="id" name="quick_settings_wifisharing_separator">false</item>
<item type="id" name="quick_settings_wifisharing_checkbox">false</item>

SystemUI/res/values/public.xml

<public type="id" name="quick_settings_powersaving_checkbox" id="0x7f0f0077" />
<public type="id" name="quick_settings_powersaving_separator" id="0x7f0f0078" />
<public type="id" name="quick_settings_normalspeed_checkbox" id="0x7f0f0079" />
<public type="id" name="quick_settings_normalspeed_separator" id="0x7f0f007a" />
<public type="id" name="quick_settings_turbo_checkbox" id="0x7f0f007b" />
<public type="id" name="quick_settings_turbo_separator" id="0x7f0f007c" />
<public type="id" name="quick_settings_dev_checkbox" id="0x7f0f007d" />
<public type="id" name="quick_settings_autorotate_checkbox" id="0x7f0f007e" />
<public type="id" name="quick_settings_wifi_checkbox" id="0x7f0f007f" />
<public type="id" name="quick_settings_bluetooth_checkbox" id="0x7f0f0080" />
<public type="id" name="quick_settings_silent_checkbox" id="0x7f0f0081" />
<public type="id" name="quick_settings_autosync_checkbox" id="0x7f0f0082" />
<public type="id" name="quick_settings_airplane_separator" id="0x7f0f0083" />
<public type="id" name="quick_settings_airplane_checkbox" id="0x7f0f0084" />
<public type="id" name="quick_settings_wifisharing_separator" id="0x7f0f0085" />
<public type="id" name="quick_settings_wifisharing_checkbox" id="0x7f0f0086" />

[B][SIZE="4"]<public type="id" name="quick_settings_gps_checkbox" id="0x7f0f00b8" />[/SIZE][/B]

This one above is a tricky one as it needs the creation of a new ID. Currently I have it right at the end of the file which is why the ID does not follow exactly (there are about 800 lines of code in the whole file). In the HC file it follows directly after autosync checkbox line. This is the ID that I believe needs to be added somewhere into the smali code also. However I currently have no idea where it needs to go as I cannot find the IDs for the other checkbox references anywhere in any of the SystemUI smali code.

SystemUI/res/layout-sw600dp/status_bar_quick_settings_switch.xml

<?xml version="1.0" encoding="utf-8"?>
<com.android.systemui.statusbar.tablet.QuickSettingsSwitch android:orientation="vertical" android:background="@drawable/quick_settings_switch_bg" android:layout_width="fill_parent" android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<com.android.systemui.statusbar.tablet.QuickSettingsHorizontalScrollView android:orientation="horizontal" android:id="@id/onoff_scroller" android:scrollbars="none" android:layout_width="fill_parent" android:layout_height="69.0dip">
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content">
<CheckBox android:id="@id/quick_settings_powersaving_checkbox" android:background="@drawable/asus_ep_control_onoff_powersaving" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@null" />
<View android:id="@id/quick_settings_powersaving_separator" android:background="@drawable/asus_ep_sepline4" android:visibility="gone" android:layout_width="1.0dip" android:layout_height="wrap_content" />
<CheckBox android:id="@id/quick_settings_normalspeed_checkbox" android:background="@drawable/asus_ep_control_onoff_normalspeed" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@null" />
<View android:id="@id/quick_settings_normalspeed_separator" android:background="@drawable/asus_ep_sepline4" android:visibility="gone" android:layout_width="1.0dip" android:layout_height="wrap_content" />
<CheckBox android:id="@id/quick_settings_turbo_checkbox" android:background="@drawable/asus_ep_control_onoff_turbo" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@null" />
<View android:id="@id/quick_settings_turbo_separator" android:background="@drawable/asus_ep_sepline4" android:visibility="gone" android:layout_width="1.0dip" android:layout_height="wrap_content" />
<CheckBox android:id="@id/quick_settings_dev_checkbox" android:background="@drawable/asus_ep_control_onoff_development" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@null" />
<View android:background="@drawable/asus_ep_sepline3" android:layout_width="1.0dip" android:layout_height="wrap_content" />
<CheckBox android:id="@id/quick_settings_autorotate_checkbox" android:background="@drawable/asus_ep_control_onoff_autorotate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@null" />
<View android:background="@drawable/asus_ep_sepline3" android:layout_width="1.0dip" android:layout_height="wrap_content" />
<CheckBox android:id="@id/quick_settings_wifi_checkbox" android:background="@drawable/asus_ep_control_onoff_wifi" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@null" />
<View android:background="@drawable/asus_ep_sepline3" android:layout_width="1.0dip" android:layout_height="wrap_content" />
<CheckBox android:id="@id/quick_settings_bluetooth_checkbox" android:background="@drawable/asus_ep_control_onoff_bluetooth" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@null" />
<View android:background="@drawable/asus_ep_sepline3" android:layout_width="1.0dip" android:layout_height="wrap_content" />
<CheckBox android:id="@id/quick_settings_silent_checkbox" android:background="@drawable/asus_ep_control_onoff_silent" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@null" />
<View android:background="@drawable/asus_ep_sepline3" android:layout_width="1.0dip" android:layout_height="wrap_content" />
<CheckBox android:id="@id/quick_settings_autosync_checkbox" android:background="@drawable/asus_ep_control_onoff_autosync" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@null" />
[B][SIZE="4"]<View android:background="@drawable/asus_ep_sepline3" android:layout_width="1.0dip" android:layout_height="wrap_content" />
<CheckBox android:id="@id/quick_settings_gps_checkbox" android:background="@drawable/asus_ep_control_onoff_gps" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@null" />[/SIZE][/B]
<View android:id="@id/quick_settings_airplane_separator" android:background="@drawable/asus_ep_sepline3" android:visibility="gone" android:layout_width="1.0dip" android:layout_height="wrap_content" />
<CheckBox android:id="@id/quick_settings_airplane_checkbox" android:background="@drawable/asus_ep_control_onoff_flightmode" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@null" />
<View android:id="@id/quick_settings_wifisharing_separator" android:background="@drawable/asus_ep_sepline3" android:visibility="gone" android:layout_width="1.0dip" android:layout_height="wrap_content" />
<CheckBox android:id="@id/quick_settings_wifisharing_checkbox" android:background="@drawable/asus_ep_control_onoff_wifisharing" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:button="@null" />
</LinearLayout>
</com.android.systemui.statusbar.tablet.QuickSettingsHorizontalScrollView>
</com.android.systemui.statusbar.tablet.QuickSettingsSwitch>

So these are my findings so far. From what I can see I think that these are the only 3 files in SystemUI that need this modification, other than the possible smali code addition, but that is gonna take a lot more research.

Unfortunately it seems that currently although we can decompile SystemUI.apk with apktool, even if we make no modifications we cannot recompile SystemUI.apk

So currently all this is very much theory, but I'm enjoying the research. :D

Thanks to Lock-N-Load for the original idea and the words of encouragement, and thanks to reNeglect for being so gracious to allow us to hijack his thread and for also helping with trying to recompile the file.

Stay tuned.