[Galaxy S III Themes and Apps] Marvis21:
Hi XDA,

finally I can give something back, after reading and learning so much in the last 5 month.

Watching [MENTION=5161352]JustArchi[/MENTION] [MENTION=3443334]Kryten2k35[/MENTION] and all the others who are bringing in there 2 cents, bringing Kitkat to our beloved S3, i've started looking for some S5 Apps, Mods and Ports.

After finding the S5 Status bar, I have tested many different SystemUI.apk and at every time i had to modify the build.prop to SM-G900.

But Stock Quick Panel didn't make me happy. Even with Wanam Xposed.

Till now I have searched over 7 days in the .xml and .smali code from diffent apk for this one line that makes the difference. I found the background .png from the new Quick Panel in SystemUI leading to status_bar_expanded.xml, so i though SystemUI is the right place to search.

But there was nothing to find. Next step... Reading about smali.... Start to read smali... :eek:

The first i found was in SystemUI.apk\smali\com\android\systemui\Feature.smali

.line 94
# enables Stock Statusbar (jellybean)
sget-object v0, Lcom/android/systemui/statusbar/Feature;->mProductName:Ljava/lang/String;

const-string v3, "m0"

invoke-virtual {v0, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

move-result v0

if-nez v0, :cond_d

our device GT-I9300 (m0xx, m0). :confused: But it takes 5 more days to understand what it does.

Next i found was:

.line 90
sget-object v0, Lcom/android/systemui/statusbar/Feature;->mProductName:Ljava/lang/String;

const-string v3, "klte"

invoke-virtual {v0, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

move-result v0

if-nez v0, :cond_a

but nowhere in the code i found SM-G900. So i searched witch values for ro.product.name and ro.product.device are working for the new S5 Quick Panel. Testing with many devices mentioned in this part i figured out with line are doing what i want. Yesterday evening I do a mistake and wrote "klet" in build.prop. And it shows also the S5 Quick Panel. :rolleyes:

So the next thing i've tried was:

.line 90
# adding
sget-object v0, Lcom/android/systemui/statusbar/Feature;->mProductName:Ljava/lang/String;

const-string v3, "m0"

invoke-virtual {v0, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

move-result v0

if-nez v0, :cond_a
# will enable S Finder and Quick Connect (but without function)

and this happens:

wtf! :silly:

So the last step:

.line 94
# enables Stock Statusbar
sget-object v0, Lcom/android/systemui/statusbar/Feature;->mProductName:Ljava/lang/String;

const-string v3, "m0"

invoke-virtual {v0, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

move-result v0

if-nez v0, :cond_d
# deleting this disables Stock Quick Panel overlay

:victory::victory::victory:

So simpel, just removing 4 lines of code and adding 4 lines of code. :cool:

I hope someone can take use of this!

BTW:

If you delete this in /res/layout/status_bar_expanded.xml

<LinearLayout android:orientation="vertical" android:id="@id/sfinder_qconnect_layout" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content">
<LinearLayout android:gravity="center_vertical" android:orientation="horizontal" android:paddingLeft="@dimen/finder_connect_button_padding_right" android:paddingTop="@dimen/finder_connect_button_padding_top" android:paddingRight="@dimen/finder_connect_button_padding_left" android:paddingBottom="@dimen/finder_connect_button_padding_bottom" android:layout_width="fill_parent" android:layout_height="wrap_content">
<Button android:textSize="@dimen/tw_quick_panel_sfinder_qconnect_button_text_size" android:textColor="@drawable/tw_quick_panel_sfinder_qconnect_button_text_color" android:id="@id/sfinder_button_big" android:background="@drawable/tw_quick_panel_sfinder_qconnect_button" android:layout_width="0.0dip" android:layout_height="@dimen/finder_connect_button_height" android:layout_marginRight="10.0dip" android:text="@string/accessibility_sfinder_button" android:layout_weight="0.5" android:fontFamily="sec-roboto-light" />
<Button android:textSize="@dimen/tw_quick_panel_sfinder_qconnect_button_text_size" android:textColor="@drawable/tw_quick_panel_sfinder_qconnect_button_text_color" android:id="@id/qconnect_button_big" android:background="@drawable/tw_quick_panel_sfinder_qconnect_button" android:layout_width="0.0dip" android:layout_height="@dimen/finder_connect_button_height" android:layout_marginLeft="10.0dip" android:text="@string/accessibility_qconnect_button" android:layout_weight="0.5" android:fontFamily="sec-roboto-light" />
</LinearLayout>
<View android:id="@id/sfinder_qconnect_divider" android:background="@drawable/notification_bottom_line" android:layout_width="fill_parent" android:layout_height="1.0dip" />
</LinearLayout>

then you will get this:

:D