Monday, March 14, 2016

Hard to create open class Online early adopters HTC Vive

Transplant Sony floating gadgets

 

New Sony Xperia with floating gadget features, you can easily use without switching applications computer, notebooks and other. Today to teach you how to port this functionality to other Xperia CM systems.

This article is not suitable for user with no frustrating experience, please set up your own Android APK decompile environment, the authors not responsible for any accidents.

A first step:

Decompilation of your current ROM framework-Res.APK

Found in the export directory RES/values/strings.XML insert the following lines to the end

Code:

Start as an external task switcher Allows the application to be an external task switcher replacing the native task switcher Small application overlay Allows running movable small applications on top of other applications.

 

Open the AndroidManifest.xml

And then add the following two lines of code Juicy iPhone 6 case

Code:

As well as the

Code:

As shown in the following figure

Transplant Sony floating gadgets

Recompile framework-Res.APK

 

The second step:

Decompiler Android.policy.jar

Found com\android\internal\policy\impl\PhoneWindowManager.smal

Add the following paragraphs Red

Code:

.field static final RECENT_APPS_BEHAVIOR_DISMISS_AND_SWITCH:I = 0x3 .field static final RECENT_APPS_BEHAVIOR_EXIT_TOUCH_MODE_AND_SHOW:I = 0x1 .field static final RECENT_APPS_BEHAVIOR_SHOW_OR_DISMISS:I = 0x0 .field static final SHOW_PROCESSES_ON_ALT_MENU:Z = false . Field static final SHOW_STARTING_ANIMATIONS:Z = true add----------------------this line, if you don't already have .field static final SMALLAPP_LAYER:I = 0x3 .field public static final SYSTEM_DIALOG_REASON_ASSIST:Ljava/lang/String; = "assist" .field public static final SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS:Ljava/lang/String; = "globalactions" .field public static final SYSTEM_DIALOG_REASON_HOME_KEY:Ljava/lang/String; = "homekey" .field public static final SYSTEM_DIALOG_REASON_KEY:Ljava/lang/String; = "reason" .field public static final SYSTEM_DIALOG_REASON_RECENT_APPS:Ljava/lang/String; = "recentapps"

And then locate the following parts

Code:

.method public checkAddPermission(Landroid/view/WindowManager$LayoutParams;)I .locals 4 .parameter "attrs" .prologue const/4 v2, 0x0 .line 1588 iget v1, p1, Landroid/view/WindowManager$LayoutParams;->type:I .line 1590 .local v1, type:I const/16 v3, 0x7d0 if-lt v1, v3, :cond_0 const/16 v3, 0xbb7 if-le v1, v3, :cond_1 .line 1622 :cond_0 :goto_0 return v2 .line 1594 :cond_1 const/4 v0, 0x0 .line 1595 .local v0, permission:Ljava/lang/String; sparse-switch v1, :sswitch_data_0 .line 1614 const-string v0, "android.permission.INTERNAL_SYSTEM_WINDOW" .line 1616 :goto_1 :sswitch_0 if-eqz v0, :cond_0 .line 1617 iget-object v3, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mContext:Landroid/content/Context; invoke-virtual {v3, v0}, Landroid/content/Context;->checkCallingOrSelfPermission(Ljava/lang/String;)I move-result v3 if-eqz v3, :cond_0 .line 1619 const/4 v2, -0x8 goto :goto_0 .line 1611 :sswitch_1 const-string v0, "android.permission.SYSTEM_ALERT_WINDOW" .line 1612 goto :goto_1 .line 1595 nop :sswitch_data_0 .sparse-switch 0x7d2 -> :sswitch_1 0x7d3 -> :sswitch_1 0x7d5 -> :sswitch_0 0x7d6 -> :sswitch_1 0x7d7 -> :sswitch_1 0x7da -> :sswitch_1 0x7db -> :sswitch_0 0x7dd -> :sswitch_0 0x7e7 -> :sswitch_0 .end sparse-switch .end method

All blue parts replaced by Red Tags section

Code:

.method public checkAddPermission(Landroid/view/WindowManager$LayoutParams;)I .locals 4 .parameter "attrs" .prologue const/4 v2, 0x0 .line 1115 iget v1, p1, Landroid/view/WindowManager$LayoutParams;->type:I .line 1117 .local v1, type:I const/16 v3, 0x7d0 if-lt v1, v3, :cond_0 const/16 v3, 0xbb7 if-le v1, v3, :cond_1 .line 1152 :cond_0 :goto_0 return v2 .line 1121 :cond_1 const/4 v0, 0x0 .line 1122 .local v0, permission:Ljava/lang/String; sparse-switch v1, :sswitch_data_0 .line 1144 const-string v0, "android.permission.INTERNAL_SYSTEM_WINDOW" .line 1146 :goto_1 :sswitch_0 if-eqz v0, :cond_0 .line 1147 iget-object v3, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mContext:Landroid/content/Context; invoke-virtual {v3, v0}, Landroid/content/Context;->checkCallingOrSelfPermission(Ljava/lang/String;)I move-result v3 if-eqz v3, :cond_0 .line 1149 const/4 v2, -0x8 goto :goto_0 .line 1137 :sswitch_1 const-string v0, "android.permission.SYSTEM_ALERT_WINDOW" .line 1138 goto :goto_1 .line 1141 :sswitch_2 const-string v0, "com.sony.smallapp.permission.SMALLAPP" .line 1142 goto :goto_1 .line 1122 :sswitch_data_0 .sparse-switch 0x7d2 -> :sswitch_1 0x7d3 -> :sswitch_1 0x7d5 -> :sswitch_0 0x7d6 -> :sswitch_1 0x7d7 -> :sswitch_1 0x7da -> :sswitch_1 0x7db -> :sswitch_0 0x7dd -> :sswitch_0 0xbb5 -> :sswitch_2 0xbb6 -> :sswitch_2 .end sparse-switch .end method

Save and rebuild the Android policy.jar

 

The third step:

Download 1

Juicy iPhone 6 case

Decompiler framework.jar

Export the whole Sony folder into the folder smali/com

Then recompile framework.jar

 

Fourth step:

Download 2 Juicy Couture iPhone 6 Case

Add a floating frame to system/app, system/etc and system/framewrok

All files are packed, they can also be used directly to your made of machine.

 

Fifth step:

You also need to download a Slauncher to start the tool, can be found in the Google play

Finish! You can enjoy these in the most CM ROM based gadget.

Screenshot to run Galaxy SL CM10 and install xperia theme.

Transplant Sony floating gadgets Transplant Sony floating gadgets

 

This method is used only most Xperia devices as well as Galaxy SL CM9 cm10, PA, PACMAN in the test.

 

Learn more about the new cool device, please pay attention to @ love machine

Transplant Sony floating gadgets Galaxy Note 5

4255 votes

Galaxy Note 5

After London and Shanghai after rehashing the event, Samsung's new flagship Galaxy S6 edge+ and Galaxy Note5 has come before us, and we got in the first retail version of Galaxy Note5, then this Note what's new flagship series features? Come and see ... ...

View details of the voting >>

No comments:

Post a Comment