Related
FEATURED ON XDA NEWS
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
http://www.xda-developers.com/android/add-your-favorite-mods-on-the-sony-xperia-arc/
SKIP TRACK VIA VOL LONG PRESS
Requirements
1) android.policy.jar
2) APKTOOL
3) Notepad++
4)winrar or 7zip
5) and some patience.
1-STEP
open the android.policy.jar with winrar or 7zip archive and pull classes.dex file to ur apktool folder.
2-STEP
decompile the classes.dex using apktool
for this press shift and right mouse click to open cmd prompt..
then add the cmd in cmd prompt to decompile ..
Code:
java -jar baksmali.jar -o classout/ classes.dex
after that u will get a classout folder in apktool folder.
3-STEP
inside the classout folder navigate to com\android\internal\policy\impl\PhoneWindowManager.smali
once u open PhoneWindowManager.smali add the following lines.
Find:
Code:
.field static final LONG_PRESS_POWER_SHUT_OFF:I = 0x2
.field static final NAVIGATION_BAR_LAYER:I = 0x12
.field static final PHONE_LAYER:I = 0x3
Add the RED color highlighted lines between them
Code:
.field static final LONG_PRESS_POWER_SHUT_OFF:I = 0x2
[COLOR="Red"].field private static final LONG_PRESS_TIMEOUT:I = 0x3e8[/COLOR]
.field static final NAVIGATION_BAR_LAYER:I = 0x12
.field static final PHONE_LAYER:I = 0x3
Find:
Code:
.field mIncallPowerBehavior:I
.field mKeyboardTapVibePattern:[J
.field mKeyguard:Landroid/view/WindowManagerPolicy$WindowState;
Add the RED color highlighted lines between them
Code:
.field mIncallPowerBehavior:I
[COLOR="red"].field mIsLongPress:Z
[/COLOR]
.field mKeyboardTapVibePattern:[J
.field mKeyguard:Landroid/view/WindowManagerPolicy$WindowState;
Find:
Code:
.field private mVolumeDownKeyTriggered:Z
.field private mVolumeUpKeyTriggered:Z
.field mWindowManager:Landroid/view/IWindowManager;
.field mWindowManagerFuncs:Landroid/view/WindowManagerPolicy$WindowManagerFuncs;
Add the RED color highlighted lines between them
Code:
.field private mVolumeDownKeyTriggered:Z
[COLOR="red"].field private final mVolumeDownLongPress:Ljava/lang/Runnable;[/COLOR]
.field private mVolumeUpKeyTriggered:Z
[COLOR="red"].field private final mVolumeUpLongPress:Ljava/lang/Runnable;[/COLOR]
.field mWindowManager:Landroid/view/IWindowManager;
.field mWindowManagerFuncs:Landroid/view/WindowManagerPolicy$WindowManagerFuncs;
Find:
Code:
.line 3586
new-instance v0, Lcom/android/internal/policy/impl/PhoneWindowManager$21;
invoke-direct {v0, p0}, Lcom/android/internal/policy/impl/PhoneWindowManager$21;-><init>(Lcom/android/internal/policy/impl/PhoneWindowManager;)V
iput-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mScreenLockTimeout:Ljava/lang/Runnable;
return-void
.end method
Add the RED color highlighted lines between them
Code:
.line 3586
new-instance v0, Lcom/android/internal/policy/impl/PhoneWindowManager$21;
invoke-direct {v0, p0}, Lcom/android/internal/policy/impl/PhoneWindowManager$21;-><init>(Lcom/android/internal/policy/impl/PhoneWindowManager;)V
iput-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mScreenLockTimeout:Ljava/lang/Runnable;
[COLOR="red"]
new-instance v0, Lcom/android/internal/policy/impl/PhoneWindowManager$23;
invoke-direct {v0, p0}, Lcom/android/internal/policy/impl/PhoneWindowManager$23;-><init>(Lcom/android/internal/policy/impl/PhoneWindowManager;)V
iput-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mVolumeDownLongPress:Ljava/lang/Runnable;
new-instance v0, Lcom/android/internal/policy/impl/PhoneWindowManager$24;
invoke-direct {v0, p0}, Lcom/android/internal/policy/impl/PhoneWindowManager$24;-><init>(Lcom/android/internal/policy/impl/PhoneWindowManager;)V
iput-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mVolumeUpLongPress:Ljava/lang/Runnable;[/COLOR]
return-void
.end method
Find:
Code:
iget-object v3, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mBroadcastWakeLock:Landroid/os/PowerManager$WakeLock;
invoke-virtual {v3}, Landroid/os/PowerManager$WakeLock;->release()V
throw v2
.end method
.method public hasNavigationBar()Z
.registers 2
Add the RED color highlighted lines between them
Code:
iget-object v3, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mBroadcastWakeLock:Landroid/os/PowerManager$WakeLock;
invoke-virtual {v3}, Landroid/os/PowerManager$WakeLock;->release()V
throw v2
.end method
[COLOR="red"].method handleVolumeLongPress(I)V
.registers 6
.parameter "keycode"
.prologue
const/16 v1, 0x18
if-eq p1, v1, :cond_7
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mVolumeDownLongPress:Ljava/lang/Runnable;
goto :goto_9
:cond_7
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mVolumeUpLongPress:Ljava/lang/Runnable;
:goto_9
iget-object v1, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHandler:Landroid/os/Handler;
sget v2, Lcom/android/internal/policy/impl/PhoneWindowManager;->LONG_PRESS_TIMEOUT:I
int-to-long v2, v2
invoke-virtual {v1, v0, v2, v3}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
return-void
.end method
.method handleVolumeLongPressAbort()V
.registers 3
.prologue
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHandler:Landroid/os/Handler;
iget-object v1, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mVolumeUpLongPress:Ljava/lang/Runnable;
invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHandler:Landroid/os/Handler;
iget-object v1, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mVolumeDownLongPress:Ljava/lang/Runnable;
invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
return-void
.end method[/COLOR]
.method public hasNavigationBar()Z
.registers 2
Find:
Code:
.line 2841
invoke-direct {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->cancelPendingScreenshotChordAction()V
goto :goto_c2
.line 2843
Add the RED color highlighted lines between them
Code:
.line 2841
invoke-direct {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->cancelPendingScreenshotChordAction()V
[COLOR="red"]invoke-virtual {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->handleVolumeLongPressAbort()V
invoke-virtual {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->isMusicActive()Z
move-result v12
if-eqz v12, :cond_c2
move-object/from16 v0, p0
iget-boolean v0, v0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mIsLongPress:Z
move v12, v0
if-nez v12, :cond_c2
and-int/lit8 v12, v10, 0x1
if-nez v12, :cond_c2
const/4 v12, 0x3
move-object/from16 v0, p0
invoke-virtual {v0, v12, v8}, Lcom/android/internal/policy/impl/PhoneWindowManager;->handleVolumeKey(II)V
[/COLOR]
goto :goto_c2
.line 2843
Find:
Code:
.line 2853
invoke-direct {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->cancelPendingScreenshotChordAction()V
goto/16 :goto_c2
.line 2879
Add the RED color highlighted lines between them
Code:
.line 2853
invoke-direct {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->cancelPendingScreenshotChordAction()V
[COLOR="Red"] invoke-virtual {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->handleVolumeLongPressAbort()V
invoke-virtual {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->isMusicActive()Z
move-result v12
if-eqz v12, :cond_c2
move-object/from16 v0, p0
iget-boolean v0, v0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mIsLongPress:Z
move v12, v0
if-nez v12, :cond_c2
and-int/lit8 v12, v10, 0x1
if-nez v12, :cond_c2
const/4 v12, 0x3
move-object/from16 v0, p0
invoke-virtual {v0, v12, v8}, Lcom/android/internal/policy/impl/PhoneWindowManager;->handleVolumeKey(II)V[/COLOR]
goto/16 :goto_c2
.line 2879
Find:
Code:
if-nez v12, :cond_23
.line 2894
const/4 v12, 0x3
invoke-virtual {p0, v12, v8}, Lcom/android/internal/policy/impl/PhoneWindowManager;->handleVolumeKey(II)V
goto/16 :goto_23
.line 2902
Add the RED color highlighted lines between them
Code:
if-nez v12, :cond_23
.line 2894
const/4 v12, 0x3
[COLOR="red"]const/4 v7, 0x0[/COLOR]
invoke-virtual {p0, v12, v8}, Lcom/android/internal/policy/impl/PhoneWindowManager;->handleVolumeKey(II)V
[COLOR="red"]move v0, v7
move-object/from16 v1, p0
iput-boolean v0, v1, Lcom/android/internal/policy/impl/PhoneWindowManager;->mIsLongPress:Z
move-object/from16 v0, p0
invoke-virtual {v0, v8}, Lcom/android/internal/policy/impl/PhoneWindowManager;->handleVolumeLongPress(I)V
[/COLOR]
goto/16 :goto_23
.line 2902
Find:
Code:
.method sendCloseSystemWindows(Ljava/lang/String;)V
.registers 3
.parameter "reason"
.prologue
.line 3246
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mContext:Landroid/content/Context;
invoke-static {v0, p1}, Lcom/android/internal/policy/impl/PhoneWindowManager;->sendCloseSystemWindows(Landroid/content/Context;Ljava/lang/String;)V
.line 3247
return-void
.end method
.method setAttachedWindowFrames(Landroid/view/WindowManagerPolicy$WindowState;IILandroid/view/WindowManagerPolicy$WindowState;ZLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
.registers 12
.parameter "win"
Add the RED color highlighted lines between them
Code:
.method sendCloseSystemWindows(Ljava/lang/String;)V
.registers 3
.parameter "reason"
.prologue
.line 3246
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mContext:Landroid/content/Context;
invoke-static {v0, p1}, Lcom/android/internal/policy/impl/PhoneWindowManager;->sendCloseSystemWindows(Landroid/content/Context;Ljava/lang/String;)V
.line 3247
return-void
.end method
[COLOR="red"].method protected sendFMBroadcast(Landroid/content/Intent;)V
.registers 3
.parameter "intent"
.prologue
iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mContext:Landroid/content/Context;
invoke-virtual {v0, p1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
return-void
.end method
.method protected sendMediaButtonEvent(I)V
.registers 15
.parameter "code"
.prologue
invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
move-result-wide v1
.local v1, eventtime:J
new-instance v11, Landroid/content/Intent;
const-string v4, "android.intent.action.MEDIA_BUTTON"
const/4 v5, 0x0
invoke-direct {v11, v4, v5}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
.local v11, downIntent:Landroid/content/Intent;
new-instance v0, Landroid/view/KeyEvent;
const/4 v5, 0x0
const/4 v7, 0x0
move-wide v3, v1
move v6, p1
invoke-direct/range {v0 .. v7}, Landroid/view/KeyEvent;-><init>(JJIII)V
.local v0, downEvent:Landroid/view/KeyEvent;
const-string v4, "android.intent.extra.KEY_EVENT"
invoke-virtual {v11, v4, v0}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;
iget-object v4, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mContext:Landroid/content/Context;
const/4 v5, 0x0
invoke-virtual {v4, v11, v5}, Landroid/content/Context;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;)V
new-instance v12, Landroid/content/Intent;
const-string v4, "android.intent.action.MEDIA_BUTTON"
const/4 v5, 0x0
invoke-direct {v12, v4, v5}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
.local v12, upIntent:Landroid/content/Intent;
new-instance v3, Landroid/view/KeyEvent;
const/4 v8, 0x1
const/4 v10, 0x0
move-wide v4, v1
move-wide v6, v1
move v9, p1
invoke-direct/range {v3 .. v10}, Landroid/view/KeyEvent;-><init>(JJIII)V
.local v3, upEvent:Landroid/view/KeyEvent;
const-string v4, "android.intent.extra.KEY_EVENT"
invoke-virtual {v12, v4, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent;
iget-object v4, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mContext:Landroid/content/Context;
const/4 v5, 0x0
invoke-virtual {v4, v12, v5}, Landroid/content/Context;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;)V
return-void
.end method[/COLOR]
.method setAttachedWindowFrames(Landroid/view/WindowManagerPolicy$WindowState;IILandroid/view/WindowManagerPolicy$WindowState;ZLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
.registers 12
.parameter "win"
4-STEP
add the following smali files in classoutcom\android\internal\policy\impl
PhoneWindowManager$23.smali
PhoneWindowManager$24.smali
(i have provided these two files in resources.zip attached below this post)
5-STEP
recompiling
come back to apktool main folder.and in the cmd prompt type this cmd to recompile..
Code:
java -Xmx512M -jar smali.jar classout/ -o new-classes.dex
and once its recompiled rename the new-classes.dex to classes.dex
and open the android.policy.jar with winrar archive drag the newly recompiled classes.dex into the archive and select compression level to store.
and ur done..
6-STEP
push the android.policy.jar into system/framework..
flash it via cwm using a flashable zip (i have also provided a flashable zip formate see attachment)
and u have a working skip to track in ur rom
Camera Button to play/pause music
1-STEP
decompile android.policy.jar
and open com\android\internal\policy\impl\PhoneWindowManager.smali
2-STEP
in phonewindowmanager.smalli find this line
.method public interceptKeyBeforeQueueing
now at the end of this method find this and add the red marked code
Code:
.line 2794
nop
nop
nop
nop
nop
:sswitch_data_28a
.sparse-switch
0x5 -> :sswitch_61
0x6 -> :sswitch_16c
0x18 -> :sswitch_9a
0x19 -> :sswitch_9a
0x1a -> :sswitch_1ae
[COLOR="Red"]0x1b -> :sswitch_195[/COLOR]
0x4f -> :sswitch_236
0x55 -> :sswitch_228
0x56 -> :sswitch_236
0x57 -> :sswitch_236
0x58 -> :sswitch_236
0x59 -> :sswitch_236
0x5a -> :sswitch_236
0x5b -> :sswitch_236
0x7e -> :sswitch_228
0x7f -> :sswitch_228
0x82 -> :sswitch_236
0xa4 -> :sswitch_9a
0x400 -> :sswitch_265
.end sparse-switch
(1b is the KEYCODE_CAMERA hex code, see docs:KEYCODE_CAMERA
so after adding that code it should look like this....
now scroll few lines up to find this line...
Code:
.line 3000
.end local v3 #ex:Landroid/os/RemoteException;
.end local v11 #telephonyService:Lcom/android/internal/telephony/ITelephony;
[COLOR="Blue"]:sswitch_265[/COLOR]
if-eqz v2, :cond_27f
if-nez v9, :cond_27f
.line 3001
iget-object v12, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mBroadcastWakeLock:Landroid/os/PowerManager$WakeLock;
invoke-virtual {v12}, Landroid/os/PowerManager$WakeLock;->acquire()V
.line 3002
iget-object v12, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHandler:Landroid/os/Handler;
new-instance v13, Lcom/android/internal/policy/impl/PhoneWindowManager$PassVendorKey;
new-instance v14, Landroid/view/KeyEvent;
now see the above code where marked in blue from there leave some space like this...
next add these lines between the spaces
Code:
[COLOR="Red"]:sswitch_195
if-eqz v2, :cond_195
invoke-virtual {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->isScreenOnEarly()Z
move-result v12
if-nez v12, :cond_195
const/16 v12, 0x55
invoke-virtual {p0, v12}, Lcom/android/internal/policy/impl/PhoneWindowManager;->sendMediaButtonEvent(I)V
.line 901
const/4 v12, 0x0
iput-boolean v12, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mIsVolumeAction:Z
:cond_195
goto/16 :goto_23
.line 4000[/COLOR]
so from now its very simple remove all the spaces so it will end up look like this...
once u done it save the file
3-STEP
recompile it
and flash it and enjoy the new mod..
SMALL APPS FOR CM BASED ROM
1-STEP
decompile framework-res.apk
goto res/values/strings.xml and add these lines a the end
Code:
<string name="permlab_externalTaskSwitcher">Start as an external task switcher</string>
<string name="permdesc_externalTaskSwitcher">Allows the application to be an external task switcher replacing the native task switcher</string>
<string name="permlab_smallapp">Small application overlay</string>
<string name="permdesc_smallapp">Allows running movable small applications on top of other applications.</string>
open AndroidManifest.xml
and add the following lines
Code:
<permission android:name="android.permission.SYSTEM_ALERT_WINDOW" android:label="@string/permlab_systemAlertWindow" android:description="@string/permdesc_systemAlertWindow" android:protectionLevel="dangerous" android:permissionGroup="android.permission-group.SYSTEM_TOOLS" />
and
Code:
<permission android:name="com.sony.smallapp.permission.SMALLAPP" android:label="@string/permlab_smallapp" android:description="@string/permdesc_smallapp" android:protectionLevel="dangerous" />
like this shown in the pic..
done recompile the framework-res.apk
2-STEP
decompile android.policy.jar
and open com\android\internal\policy\impl\PhoneWindowManager.smal
and add the red marked lines
Code:
.field static final SEARCH_BAR_LAYER:I = 0x4
.field static final SECURE_SYSTEM_OVERLAY_LAYER:I = 0x17
.field static final SEPARATE_TIMEOUT_FOR_SCREEN_SAVER:Z = false
.field static final SHOW_PROCESSES_ON_ALT_MENU:Z = false
[COLOR="red"].field static final SHOW_STARTING_ANIMATIONS:Z = true
.field static final SMALLAPP_LAYER:I = 0x3[/COLOR]
.field static final STATUS_BAR_LAYER:I = 0xf
.field static final STATUS_BAR_PANEL_LAYER:I = 0x10
.field static final STATUS_BAR_SUB_PANEL_LAYER:I = 0xe
and find these lines in the same file.
Code:
[COLOR="Blue"].method public checkAddPermission(Landroid/view/WindowManager$LayoutParams;)I
.locals 4
.parameter "attrs"
.prologue
const/4 v2, 0x0
.line 1609
iget v1, p1, Landroid/view/WindowManager$LayoutParams;->type:I
.line 1611
.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 1643
:cond_0
:goto_0
return v2
.line 1615
:cond_1
const/4 v0, 0x0
.line 1616
.local v0, permission:Ljava/lang/String;
sparse-switch v1, :sswitch_data_0
.line 1635
const-string v0, "android.permission.INTERNAL_SYSTEM_WINDOW"
.line 1637
:goto_1
:sswitch_0
if-eqz v0, :cond_0
.line 1638
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 1640
const/4 v2, -0x8
goto :goto_0
.line 1632
:sswitch_1
const-string v0, "android.permission.SYSTEM_ALERT_WINDOW"
.line 1633
goto :goto_1
.line 1616
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[/COLOR]
no is the funny part replace all the above blue marked lines with the below red marked lines
Code:
[COLOR="red"].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[/COLOR]
save it..done now recompile the android.policy.jar
3-STEP
decompile framework.jar
add the whole sony folder (provided in the resources.zip attached below ) in classout/com
and recompile framework.jar
4-STEP
now u need to add some files in system/app
system/etc
system/framework
all the files are provided in resources.zip so just take them and add those files in ur flashable zip
5-STEP
once u flash the mod .u need an Slauncher app to launch the small apps...download it from google play
so its done enjoy the smalls on cm based roms..
Hope it helps u guys
if u guys are having trouble making it ...make a req to me ill make one for u when iam free..
ps-when it comes to making a thread iam really bad at it plz co-operate
if u like my tut plz press thanks
IF u like my work donate me and ATM my device is screwed have to repair it will cost more plz help me to get my device repaired by donating me
HOW TO DONATE ME
Due to some rules paypal donate button is disabled in INDIA. So any one willing to donate me please follow this :
* Login to ur paypal account
* Option "Personal payment" doesn't work for India, please set "Online purchases". and check Goods or Service (preferably service)
* Send desired payment
* Input my paypal email there : [email protected]
* Thank you!
Click to expand...
Click to collapse
How to add xperia S/T lockscreen ,small apps ,magnification glass
Xperia S/T Lockscreen TUT
requirements.
framework-res.apk
android.policy.jar
notpad++
winrar
knowledge of how to decompile and recompile
If u guys want a good tut for de/recompiling here is good guide by my good friend Stanlin salu
http://forum.xda-developers.com/showthread.php?t=2011254
1-STEP
decompile framework-res.apk
navigate to res/values
and open strings.xml
here add these two at the end (see pic for reference.) and save it
Code:
<string name="permlab_external_lockscreen">xperia lockscreen</string>
<string name="permdesc_external_lockscreen">xperia loxkscreen</string>
2-STEP
in the same values folder
open public.xml
and these strings just below the line show in the below pic and save it
Code:
<public type="string" name="permlab_external_lockscreen" id="0x01040525" />
<public type="string" name="permdesc_external_lockscreen" id="0x01040526" />
IMPORTANT
0x01040525 ,0x01040526 these are called hex codes and should in a proper order
for ex from the above codes the last 4 hex codes should in this way
0x01040524
0x01040525
0x01040526
0x01040527
public.xml sample hexadecimal codes
0x70000000
0x70000001
0x70000002
0x70000003
0x70000004
0x70000005
0x70000006
0x70000007
0x70000008
0x70000009
0x7000000a
0x7000000b
0x7000000c
0x7000000d
0x7000000e
0x7000000f
0x70000010
Click to expand...
Click to collapse
a little info about hex codes
hex codes starts from 0-9 and a-f and so one
so they must in the order according to it.
Click to expand...
Click to collapse
3-STEP
come back to main framework-res folder
and open AndroidManifest.xml
and add these line just below line shown in the pic and save it
Code:
<permission android:label="@string/permlab_external_lockscreen" android:name="com.sonyericsson.permission.EXTERNAL_LOCKSCREEN" android:protectionLevel="signatureOrSystem" android:description="@string/permdesc_external_lockscreen" />
4-STEP
recompile the framework-res.apk
5-STEP
decompile android.policy.jar
navigate to com\android\internal\policy\impl\
and add this ExternalLockScreen.smali and LockPatternKeyguardView.smali file there (smali file is provided by in the resources zip attached in this post)
and recompile it back
6-STEP
i have attached a flashable zip for format in this post below
put the following files it
uxpnxtlockscreen.apk (provided in resorces zip by me)
settings.apk (which supports XS LS , which can be found easily in this forum) (or may be later ill tell how to add them in ur settings)
android.policy.jar
framework-res.apk
zip and flash it..and ur done ...
HOW TO ADD SMALL APPS
1-STEP
Decompile framework-res.apk
and navigate to res/values/strings.xml
and add these 4 lines at the end as shown in the pic. and save it
Code:
<string name="permlab_smallapp">Small application overlay</string>
<string name="permdesc_smallapp">Allows running movable small applications on top of other applications.</string>
<string name="permlab_externalTaskSwitcher">Start as an external task switcher</string>
<string name="permdesc_externalTaskSwitcher">Allows the application to be an external task switcher replacing the native task switcher</string>
2-STEP
in the same values folder open public.xml
and add these 4 lines below the line shown in the pic and save it
Code:
<public type="string" name="permlab_smallapp" id="0x01040550" />
<public type="string" name="permdesc_smallapp" id="0x01040551" />
<public type="string" name="permlab_externalTaskSwitcher" id="0x01040552" />
<public type="string" name="permdesc_externalTaskSwitcher" id="0x01040553" />
3-STEP
come back to main framework-res folder
and open AndroidManifest.xml
now add this line as shown in the pic
Code:
<permission android:label="@string/permlab_externalTaskSwitcher" android:name="com.sonymobile.permission.EXTERNAL_TASK_SWITCHER" android:protectionLevel="signatureOrSystem" android:description="@string/permdesc_externalTaskSwitcher" />
and this line as shown in pic .and save it
Code:
<permission android:label="@string/permlab_smallapp" android:name="com.sony.smallapp.permission.SMALLAPP" android:protectionLevel="dangerous" android:description="@string/permdesc_smallapp" />
Now recompile the framework-res.apk
4-STEP
decompile framework.jar
and the whole sony folder which consists of small apps samli (i have provided in small apps resources.zip )
recompile it
done
5-STEP
u need some framework files and some permissions files ( provided in resources.zip)
1-etc/permissions
2- small app framework jar file
3-small apps supported services.
4-the small apps
6-STEP
now all mods are ready only thing need is small apps (which i have provided in small apps resources.zip)
and also make u use the small apps supported susyemUI.apk (which can be found in this forum)
put all these files in the flashable zip formate i have provided below..
and enjoy ur small apps
HOW TO ADD THE FAMOUS MAGNIFICATION GLASS TO UR FRAMEWORK..
(a big thanks to AEON WORLD)
1-STEP
decompile ur framework-res.apk
2-STEP
navigate to res/values and edit the following xml's
Dimens.xml add these lines at the end..as shown in the pic
Code:
<dimen name="magnifier_selection_handle_offset_y">44.0dip</dimen>
<dimen name="roundMagnificationRadius">55.0dip</dimen>
<dimen name="rectangularMagnificationWidth">179.0dip</dimen>
<dimen name="rectangularMagnificationHeight">74.0dip</dimen>
<dimen name="selection_handle_offset_y">42.0dip</dimen>
<dimen name="selection_handle_right_offset_x">15.0dip</dimen>
<dimen name="selection_handle_left_offset_x">7.0dip</dimen>
Public.xml add the following lines as shown in pic
under public type demin
Code:
<public type="dimen" name="magnifier_selection_handle_offset_y" id="0x01050078" />
<public type="dimen" name="roundMagnificationRadius" id="0x01050079" />
<public type="dimen" name="rectangularMagnificationWidth" id="0x0105007a" />
<public type="dimen" name="rectangularMagnificationHeight" id="0x0105007b" />
<public type="dimen" name="selection_handle_offset_y" id="0x0105007c" />
<public type="dimen" name="selection_handle_right_offset_x" id="0x0105007d" />
<public type="dimen" name="selection_handle_left_offset_x" id="0x0105007e" />
note ur hex codes should be order..
under public type drawables
<public type="drawable" name="textfield_search_right_holo" id="0x010807fb" />
<public type="drawable" name="semc_magnifier_arrow_above" id="0x010807fc" />
<public type="drawable" name="semc_magnifier_arrow_left" id="0x010807fd" />
<public type="drawable" name="semc_magnifier_arrow_right" id="0x010807fe" />
<public type="drawable" name="semc_magnifier_rectangle" id="0x010807ff" />
<public type="drawable" name="semc_magnifier_round" id="0x01080800" />
again the hex codes should in order
3-STEP
put the pngs which i have provided in magni_resoures.rar to drawables-hpdi folder
4-STEP
now recompile the framework-res.apk..
5-STEP
now decompile ur framewok.jar
add the following files provided in magni_resoreces.rar
copy all the files in webkit folder and paste it in classout/android/webkit folder
and copy all the files widget folder and paste it in classout/android/widget folder
wait dont recomplie yet (see next step )
6-STEP
now we have to compare some id's from ur public.xml and MagnifierView.smali to assign the same id's for drawables and dimes present in public.xml
Open ur both Public.xml and MagnifierView.smali at the same time and do the following
in magnifierView.smali
1- Find this line and assign <public type="drawable" name="semc_magnifier_round" id="0x010807f9" /> id here
Code:
.line 413
move-object/from16 v0, p0
iget-object v3, v0, Landroid/widget/MagnifierView;->mFrames:[Landroid/graphics/drawable/Drawable;
const/4 v4, 0x0
const v5, 0x10[COLOR="Red"]807f9[/COLOR]
2- Find this line and assign <public type="drawable" name="semc_magnifier_rectangle" id="0x010807f8" /> id here
Code:
.line 414
move-object/from16 v0, p0
iget-object v3, v0, Landroid/widget/MagnifierView;->mFrames:[Landroid/graphics/drawable/Drawable;
const/4 v4, 0x1
const v5, 0x10[COLOR="red"]807f8[/COLOR]
3-Find this line and assign <public type="dimen" name="roundMagnificationRadius" id="0x01050073" /> id here
Code:
.line 422
const v3, 0x10[COLOR="red"]50073[/COLOR]
invoke-virtual {v12, v3}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result v13
4-Find this line and assign <public type="dimen" name="rectangularMagnificationWidth" id="0x01050074" /> id here
Code:
.line 426
move-object/from16 v0, p0
iget-object v3, v0, Landroid/widget/MagnifierView;->mMagnificationWidth:[I
const/4 v4, 0x1
const v5, 0x10[COLOR="red"]50074[/COLOR]
5-Find this line and assign <public type="dimen" name="rectangularMagnificationHeight" id="0x01050075" /> id here
Code:
.line 428
move-object/from16 v0, p0
iget-object v3, v0, Landroid/widget/MagnifierView;->mMagnificationHeight:[I
const/4 v4, 0x1
const v5, 0x10[COLOR="red"]50075[/COLOR]
6-Find this line and assign <public type="dimen" name="selection_handle_offset_y" id="0x01050076" /> id here
Code:
.line 452
move-object/from16 v0, p0
iget-object v3, v0, Landroid/widget/MagnifierView;->mArrowDrawables:[Landroid/graphics/drawable/Drawable;
const/4 v4, 0x0
const v5, 0x10[COLOR="red"]50076[/COLOR]
7-Find this line and assign <public type="dimen" name="selection_handle_right_offset_x" id="0x01050077" /> id here
Code:
.line 454
move-object/from16 v0, p0
iget-object v3, v0, Landroid/widget/MagnifierView;->mArrowDrawables:[Landroid/graphics/drawable/Drawable;
const/4 v4, 0x1
const v5, 0x10[COLOR="red"]50077[/COLOR]
8-Find this line and assign <public type="dimen" name="selection_handle_left_offset_x" id="0x01050078" /> id here
Code:
.line 456
move-object/from16 v0, p0
iget-object v3, v0, Landroid/widget/MagnifierView;->mArrowDrawables:[Landroid/graphics/drawable/Drawable;
const/4 v4, 0x2
const v5, 0x10[COLOR="red"]50078[/COLOR]
once u done it..
recompile ur framework.jar
STEP-7
now use the flashable zip i have provided to flash this mod..
PS- my way for presentation of this TUT is bad...hope u guys understand.
CREDITS:
AOEN WORLD -for resources.and initial tut
More TUTS here
Adding options in settings.apk
well friends today iam going to show u have to add options like CPU control, panel settings , navigation bar in ur settings.apk
SO lets start
1-STEP
install the frameworks from the rom from where u are taking the settings.apk
2-STEP
hope u guys know how to decompile iam not going to explain it
so decompile the settings.apk (make sure u set the compression level 128mb)
3-STEP
once decompiled
goto res\values
1)strings.xml
add the lines at the end
creating a header name
add this line at the end
Code:
[B]<string name="header_category_advanced">[COLOR="Red"]Sandy's mod[/COLOR]</string>[/B]
note:u can change the red colored highlighted name to any thing..
for CPU control
Code:
[B]<string name="overclocktool_title">CPU control</string>[/B]
for quickpanel
Code:
[B]<string name="quickpanel_location">Quick panel</string>[/B]
for navigation bar
Code:
[B]<string name="nav_title">Navigation button</string>[/B]
for sim card option
Code:
<string name="sim_title">SIM card</string>
For sms counter
Code:
<string name="sms_title">SMS counter</string>
for lockscreen changer
Code:
<string name="lockscreen_title">Lock screen</string>
for audio effect
Code:
<string name="audio_title">Audio</string>
for LED control app
Code:
<string name="led_title">LED control</string>
so one u add all these lines in strings.xml it should look like this
2)Public.xml
now add these lines at the end of <public type="string" line
for CPU control
Code:
[B]<public type="string" name="overclocktool_title" id="0x7f0b0658" />[/B]
for quickpanel
Code:
[B]<public type="string" name="quickpanel_location" id="0x7f0b065b" />[/B]
for navigation bar
Code:
[B]<public type="string" name="nav_title" id="0x7f0b065c" />[/B]
for sim card option
Code:
<public type="string" name="sim_title" id="0x7f0b062d" />
For sms counter
Code:
<public type="string" name="sms_title" id="0x7f0b062e" />
for lockscreen changer
Code:
<public type="string" name="lockscreen_title" id="0x7f0b0633" />
for audio effect
Code:
<public type="string" name="audio_title" id="0x7f0b062b" />
for LED control app
Code:
<public type="string" name="led_title" id="0x7f0b062f" />
IMP:- make sure the hex codes are in order
so one u add all these lines in public.xml it should look like this
4-STEP
goto res/xml/settings_headers.xml
and add the following lines.
For add the header that u created.
Code:
[B]<header android:title="@string/header_category_advanced" />[/B]
now placing the option that u have created
for CPU control
Code:
[B]<header android:icon="@drawable/ic_overclocktool" android:title="@string/overclocktool_title">
<intent android:targetPackage="it.sineo.android.noFrillsCPUClassic" android:action="android.intent.action.MAIN" android:targetClass="it.sineo.android.noFrillsCPUClassic.activity.MainActivity" />
</header>[/B]
for quickpanel
Code:
[B]<header android:icon="@drawable/ic_settings_quickpanel" android:id="@id/quickpanel_location_settings" android:title="@string/quickpanel_location">
<intent android:targetPackage="com.lidroid.quickpanel" android:targetClass="com.lidroid.quickpanel.MainActivity" />
</header>[/B]
for navigation bar
Code:
[B]<header android:icon="@drawable/ic_nav" android:title="@string/nav_title">
<intent android:targetPackage="cn.kyle.gn.NavBar" android:action="android.intent.action.MAIN" android:targetClass="cn.kyle.gn.NavBar.GnNavBarActivity" />
</header>[/B]
for sim card option
Code:
<header android:icon="@drawable/ic_sim" android:title="@string/sim_title">
<intent android:targetPackage="com.gsmdev.simcard" android:action="android.intent.action.MAIN" android:targetClass="com.gsmdev.simcard.MainActivity" />
</header>
For sms counter
Code:
<header android:icon="@drawable/ic_sms" android:title="@string/sms_title">
<intent android:targetPackage="org.kknd.android.smscounter" android:action="android.intent.action.MAIN" android:targetClass="org.kknd.android.smscounter.SmsCounterActivity" />
</header>
for lockscreen changer
Code:
<header android:icon="@drawable/ic_settings_lockstyle" android:title="@string/lockscreen_title">
<intent android:targetPackage="com.gagan.style" android:targetClass="com.gagan.style.LockscreenStyleActivity" />
</header>
for audio effect
Code:
<header android:icon="@drawable/ic_audio" android:title="@string/audio_title">
<intent android:targetPackage="org.nocrew.tomas.headsetnotifierfree" android:action="android.intent.action.MAIN" android:targetClass="org.nocrew.tomas.headsetnotifierfree.HeadsetNotifierActivity" />
</header>
for LED control app
Code:
<header android:icon="@drawable/ic_led" android:title="@string/led_title">
<intent android:targetPackage="com.koo.lightmanager" android:action="android.intent.action.MAIN" android:targetClass="com.koo.lightmanager.MainActivity" />
</header>
so one u add all these lines in settings_headers.xml it should look like this
5-STEP
now we have to add some png's for these options in settings..
i have provided the pngs in 'settings_resources.rar' attached below
add the png's in this place like this
MDPI- res\drawables-mdpi
HDPI- res\drawables-hdpi
6-STEP
recompile it new its done
7-STEP
new u need th push the settings with options apk's (like cpu OC ,panel settings ' nav bar)
i have provided the apk's in settings_resources.rar
8-STEP
now push these settings.apk and other apks using a flashable zip formate i have attached below
HOW TO ADD PER APP DPI IN DISPLAY SETTINGS
1-STEP
decompile settings.apk
open res/values/strings.xml
and add these lines at the end
Code:
<string name="dpi_enable">per app dpi</string>
<string name="dpi_enable_summary">Tablet UI</string>
<string name="dpi_settings">dpi settings</string>
<string name="dpi_settings_summary">change dpi of each app</string>
2-STEP
open res/xml/display_settings.xml
and add the red marked lines..
Code:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen android:title="@string/display_settings"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res/com.android.settings">
<CheckBoxPreference android:title="@string/swiqi_strings_swiqi_txt" android:key="swiqi_strings_swiqi_txt" android:summary="@string/swiqi_strings_swiqi_desc_txt" />
<com.android.settings.BrightnessPreference android:title="@string/brightness" android:key="brightness" android:dialogTitle="@string/brightness" />
<PreferenceScreen android:title="@string/wallpaper_settings_title" android:key="wallpaper" android:fragment="com.android.settings.WallpaperTypeSettings" />
<CheckBoxPreference android:title="@string/accelerometer_title" android:key="accelerometer" />
<ListPreference android:persistent="false" android:entries="@array/screen_timeout_entries" android:title="@string/screen_timeout" android:key="screen_timeout" android:summary="@string/screen_timeout_summary" android:entryValues="@array/screen_timeout_values" />
<ListPreference android:entries="@array/font_size_entries" android:title="@string/title_font_size" android:key="font_size" android:summary="@string/summary_font_size" android:dialogTitle="@string/dialog_title_font_size" android:entryValues="@array/font_size_values" />
<CheckBoxPreference android:persistent="false" android:title="@string/notification_pulse_title" android:key="notification_pulse" />
<PreferenceCategory android:title="@string/display_category_personalisation_title" android:key="personalisation_category">
<PreferenceScreen android:title="@string/theme_label" android:key="theme" android:summary="@string/theme_summary" />
<PreferenceScreen android:title="@string/lockscreen_label" android:key="lockscreen" android:summary="@string/lockscreen_summary" />
[COLOR="red"]<PreferenceScreen android:title="@string/dpi_enable" android:key="dpi" android:summary="@string/dpi_enable_summary">
<intent android:targetPackage="de.robv.android.xposed.installer" android:action="android.intent.action.MAIN" android:targetClass="de.robv.android.xposed.installer.XposedInstallerActivity" />
</PreferenceScreen>
<PreferenceScreen android:title="@string/dpi_settings" android:key="dpi" android:summary="@string/dpi_settings_summary">
<intent android:targetPackage="de.robv.android.xposed.mods.appsettings" android:action="android.intent.action.MAIN" android:targetClass="de.robv.android.xposed.mods.appsettings.XposedModActivity" />
</PreferenceScreen>[/COLOR]
</PreferenceCategory>
</PreferenceScreen>
3-STEP
push the xposed apps provided in settings_resoures_new.rar to system/app
so thats it..
CREDITS
Serajr
Till-Kurpse
gagan
so thats it..hope its understandable
if u like my contributions hit the thanks button or buy me a beer (make me drunk )
[ Guide for using .13 with .587 Mods ]
Hi,
In this guide I'll show you how to use mods from the old .587 with the new. 13 ics software found here:
4.1.B.1.13 Port by Jader13254
(xperia-arc-development)
.13 has some new java code inside framework & libs, so we need to port .587 mods...
This is nooby-easy and doesn't requiere ANY coding experience...
BUT you need to know how to use apktool & java..
You need:
Apktool
Notepad++
7zip
PC
1. Download any Mod you want...
2. Get "framework.jar" out of the mod using 7zip & copy to C:\
3. open a cmd window & type "apktool d C:\framework.jar C:\framework
4. open C:\framework
5. download this and paste inside /framework (put the files from /smali inside the /smali from the C:\framework)
6. now open a cmd window
7. type "apktool b C:\framework"
8. put C:\framework\dist\framework.jar (after built complete) back inside the .zip of your mod..
9. flash it via cwm
10. done, enjoy
btw, feel free to press thanks
correction crt off animation have to change from true to false
AW: [TUTORIAL] How to add various framework mods
I dont read all but is there a description how to go with headphones?
sorry for my little english
sinoboss said:
I dont read all but is there a description how to go with headphones?
sorry for my little english
Click to expand...
Click to collapse
what?
added xperia s lockscreen and small apps TUT
thanks for tuts. If you know the important thing is long press back button to kill apps. I belive lots of people need that..
SKIP TRACK VIA VOL LONG PRESS not Work Error ???
Send Me ur Apktool ...
problem Solved Wrong Code
Code:
.line 2841
invoke-direct {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->cancelPendingScreenshotChordAction()V
invoke-virtual {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->handleVolumeLongPressAbort()V
invoke-virtual {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->isMusicActive()Z
move-result v12
if-eqz v12, :cond_c2
move-object/from16 v0, p0
iget-boolean v0, v0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mIsLongPress:Z
move v12, v0
if-nez v12, :cond_c2
and-int/lit8 v12, v10, 0x1
if-nez v12, :cond_c2
const/4 v12, 0x3
move-object/from16 v0, p0
invoke-virtual {v0, v12, v8}, Lcom/android/internal/policy/impl/PhoneWindowManager;->handleVolumeKey(II)V
goto :goto_c2
.line 2843
to
Code:
.line 2841
invoke-direct {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->cancelPendingScreenshotChordAction()V
invoke-virtual {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->handleVolumeLongPressAbort()V
invoke-virtual {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->isMusicActive()Z
move-result v12
if-eqz v12, :cond_c0
move-object/from16 v0, p0
iget-boolean v0, v0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mIsLongPress:Z
move v12, v0
if-nez v12, :cond_c0
and-int/lit8 v12, v10, 0x1
if-nez v12, :cond_c0
const/4 v12, 0x3
move-object/from16 v0, p0
invoke-virtual {v0, v12, v8}, Lcom/android/internal/policy/impl/PhoneWindowManager;->handleVolumeKey(II)V
goto :goto_c0
.line 2843
thanks for letting me know the code...... appreciate it..
sry out of 8 thanks
@sandy7, Great work bro! :good:
Hi, Sandy, I have some question here. What if the id at public.xml that is used for the following line to add small app are like these:
<public type="string" name="permlab_smallapp" id="0x01040552" />
<public type="string" name="permdesc_smallapp" id="0x01040553" />
<public type="string" name="permlab_external_lockscreen" id="0x01040554" />
<public type="string" name="permdesc_external_lockscreen" id="0x01040555" />
<public type="string" name="permlab_externalTaskSwitcher" id="0x01040556" />
<public type="string" name="permdesc_externalTaskSwitcher" id="0x01040557" />
should I edit those smali at the small app apk and framework.jar? which line should be changed? I'm from Optimax, the framework of that ROM last string id ends at 0x01040551, so I cant use the lines provided by you or else fail recompile as the co-exist of the id.
mind to teach me how to do it?
xange said:
Hi, Sandy, I have some question here. What if the id at public.xml that is used for the following line to add small app are like these:
<public type="string" name="permlab_smallapp" id="0x01040552" />
<public type="string" name="permdesc_smallapp" id="0x01040553" />
<public type="string" name="permlab_external_lockscreen" id="0x01040554" />
<public type="string" name="permdesc_external_lockscreen" id="0x01040555" />
<public type="string" name="permlab_externalTaskSwitcher" id="0x01040556" />
<public type="string" name="permdesc_externalTaskSwitcher" id="0x01040557" />
should I edit those smali at the small app apk and framework.jar? which line should be changed? I'm from Optimax, the framework of that ROM last string id ends at 0x01040551, so I cant use the lines provided by you or else fail recompile as the co-exist of the id.
mind to teach me how to do it?
Click to expand...
Click to collapse
well no need edit any smali's just add the smali's i have provided in resources.zip in framework.jar..
well about public.xml
u are telling that the last id ends at 0x01040551 so the next id's will be like this
0x01040552
0x01040553
0x01040554
0x01040555
0x01040556
0x01040557
0x01040558
0x01040559
0x0104055a
0x0104055b
and so on
and if ur adding only small apps u dont need these lines..
<public type="string" name="permlab_external_lockscreen" id="0x01040554" />
<public type="string" name="permdesc_external_lockscreen" id="0x01040555" />
these are for lockscreen
Sandy, you are no less than a God to me, I have always wanted to learn and know,
the volume key hack/mod. Could you tell me it's possible on any version of Android, (from Donut to JB) also would it work on OEM's. Like am on stock Galaxy Note 2 would it work?
OR if i go back to X10i stock would it work? Or are there other formalities?
Re: [TUTORIAL] How to add various framework mods
Sandy :thumbup::thumbup: bro you made my day!
Hope I can learn some things from this tut!
Hope you find time to add some more mod guides!
Sent from my MT11i using xda premium
Re: [TUTORIAL] How to add various framework mods
pathaniya said:
Sandy, you are no less than a God to me, I have always wanted to learn and know,
the volume key hack/mod. Could you tell me it's possible on any version of Android, (from Donut to JB) also would it work on OEM's. Like am on stock Galaxy Note 2 would it work?
OR if i go back to X10i stock would it work? Or are there other formalities?
Click to expand...
Click to collapse
Should be the same..any how upload ur android.policy.jar ill go through it...and see if it has any changes..
Sent from my SK17i using XDA Premium HD app
Re: [TUTORIAL] How to add various framework mods
Ghostfreak NB said:
Sandy :thumbup::thumbup: bro you made my day!
Hope I can learn some things from this tut!
Hope you find time to add some more mod guides!
Sent from my MT11i using xda premium
Click to expand...
Click to collapse
Hope u like it..
Yes back to kill all apps tut is in process..will add soon.
Sent from my SK17i using XDA Premium HD app
Re: [TUTORIAL] How to add various framework mods
sandy7 said:
Hope u like it..
Yes back to kill all apps tut is in process..will add soon.
Sent from my SK17i using XDA Premium HD app
Click to expand...
Click to collapse
No doubting that + you kept your word bro!
You'd told I'd be making a guide when we'd talked over pm!
Will require your help! Hope you'd
Help me and not get offended! (final exams are near so not much chance before that,but once its over! I'd be the 1st one to trouble you, just kiddin ')
Sent from my MT11i using xda premium
Sandy would it be too much to ask if you can incorporate download links in your original posts. Since google so so much to offer, too many links to go through.
Long story short. I decided to port some of my mods to a stock status bar .I tried to make the process relatively easy. So it shouldn't be too much of a problem trying.
Status bar and notification panel color changer
Step 1
Decompile your systemui.apk. Extract the attached zip file. Copy the contents into the smali folder.
Step 2
Open res/layout/status_bar.xml.
Find the first line
Code:
<com.android.systemui.statusbar.StatusBarView android:orientation="vertical" android:background="#ff000000" android:focusable="true" android:descendantFocusability="afterDescendants"
Change it to
Code:
<com.android.systemui.statusbar.StatusBarView android:orientation="vertical" android:background="#00000000" android:focusable="true" android:descendantFocusability="afterDescendants"
We just changed the background color to transparent in the above step
After the first line paste this
Code:
<com.b16h22.statusbar.StatusBar android:id="@id/status_bar" android:layout_width="fill_parent" android:layout_height="fill_parent" />
Now save this file
Step 3
Open res/layout/status_bar_tracking.xml
Find this code just below first line
Code:
<View android:background="#ff8e979f" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0" />
Change it to this
Code:
<com.b16h22.statusbar.Pulldown android:id="@id/view" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1.0" />
Now save this file
Step 4
Open res/values/ids.xml and add these at the end
Code:
<item type="id" name="status_bar">false</item>
<item type="id" name="view">false</item>
Save the file and compile systemui.apk.
Step 5
Now decompile the systemui again
Open public.xml and find these
Code:
<public type="id" name="status_bar" id="[COLOR="DeepSkyBlue"]0x7f090028[/COLOR]" />
<public type="id" name="view" id="[COLOR="Red"]0x7f090029[/COLOR]" />
Open smali/com/b16h22/statusbar/StatusBar.smali
Find
Code:
const v2, [COLOR="DeepSkyBlue"]0x7f090026[/COLOR]
Change it to the id in blue in public.xml
Code:
const v2, [COLOR="DeepSkyBlue"]0x7f090028[/COLOR]
Now open smali/com/b16h22/statusbar/Pulldown.smali
Find
Code:
const v2, [COLOR="Red"]0x7f090027[/COLOR]
Change it to the id in red in public.xml
Code:
const v2, [COLOR="Red"]0x7f090029[/COLOR]
Now re-compile systemui again and push it to phone. Use StatusBarMods.apk from the attachment to change the color.
Click to expand...
Click to collapse
Status bar owner picture
This mod is a little complicated.But if you follow the steps well enough,it's going to be fairly easy.Think twice before asking a doubt.
We are adding owner picture functionality to status bar like android 4.2 and integrate the photo picker to the settings.apk. So let's start with integrating photo picker to settings.I wrote a few classes for this.Extract the "Owner_mod_files_settings.zip" and get the smali files and resource files from it.
Step 1
Get these files from the extracted zip
Code:
res/layout/profile_info.xml
res/drawable/done.xml
res/drawable/pick_profile_picture.xml
res/drawable-ldpi/done_normal.png
res/drawable-ldpi/done_pressed.png
res/drawable-ldpi/ic_qs_default_user.png
res/drawable-ldpi/ic_settings_owner.png
res/drawable-ldpi/pick_profile_normal.png
res/drawable-ldpi/pick_profile_pressed.png
Decompile settings.apk and put the above files in respective folders
Step 2
Get these smali files from the extracted zip and place it in the smali/ folder of decompiled apk
Code:
smali/com/b16h22/Profile.smali
smali/com/b16h22/Profile$1.smali
smali/com/b16h22/Profile$2.smali
Step 3
Now open the ids.xml and add these ids in it
Code:
<item type="id" name="image">false</item>
<item type="id" name="owner">false</item>
<item type="id" name="linear_layout">false</item>
<item type="id" name="profile_pic">false</item>
<item type="id" name="layout1">false</item>
<item type="id" name="change_picture_text">false</item>
<item type="id" name="photo_picker">false</item>
<item type="id" name="linear_layout1">false</item>
<item type="id" name="layout2">false</item>
<item type="id" name="name_field">false</item>
<item type="id" name="name_edit">false</item>
Open strings.xml and add these strings
Code:
<string name="change_pic">Change profile picture</string>
<string name="profile_pic">SET PROFILE PICTURE</string>
<string name="profile_name">CHANGE PROFILE NAME</string>
Step 4
Now recompile the apk and decompile it again. Now open the public.xml and find these ids.These may not be the same in your apk. It may differ.I have color coded them to make it easier to distinguish in the upcoming steps
Code:
<public type="layout" name="profile_info" id="[COLOR="Blue"]0x7f03005a[/COLOR]" />
<public type="drawable" name="ic_qs_default_user" id="[COLOR="Indigo"]0x7f0200b2[/COLOR]" />
<public type="id" name="image" id="[COLOR="Magenta"]0x7f0b011b[/COLOR]" />
<public type="id" name="owner" id="[COLOR="Orange"]0x7f0b011c[/COLOR]" />
<public type="id" name="photo_picker" id="[COLOR="DarkOrchid"]0x7f0b0121[/COLOR]" />
<public type="id" name="name_field" id="[COLOR="YellowGreen"]0x7f0b0124[/COLOR]" />
<public type="id" name="name_edit" id="[COLOR="SeaGreen"]0x7f0b0125[/COLOR]" />
Now open smali/com/b16h22/Profile.smali and find the method
Code:
.method protected onCreate(Landroid/os/Bundle;)V
And replace the ids in it with the ones from public.xml
Code:
.method protected onCreate(Landroid/os/Bundle;)V
.locals 4
.parameter "savedInstanceState"
.prologue
.line 27
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
.line 28
const v2, [COLOR="blue"]0x7f03005a[/COLOR] # profile_info
invoke-virtual {p0, v2}, Lcom/b16h22/Profile;->setContentView(I)V
.line 30
const v2, [COLOR="DarkOrchid"]0x7f0b0121[/COLOR] #photo_picker
invoke-virtual {p0, v2}, Lcom/b16h22/Profile;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/ImageView;
.line 31
.local v0, photo:Landroid/widget/ImageView;
const v2, [COLOR="Orange"]0x7f0b011c[/COLOR] # owner
invoke-virtual {p0, v2}, Lcom/b16h22/Profile;->findViewById(I)Landroid/view/View;
move-result-object v2
check-cast v2, Landroid/widget/TextView;
iput-object v2, p0, Lcom/b16h22/Profile;->owner:Landroid/widget/TextView;
.line 32
const v2, [COLOR="YellowGreen"]0x7f0b0124[/COLOR] # name_field
invoke-virtual {p0, v2}, Lcom/b16h22/Profile;->findViewById(I)Landroid/view/View;
move-result-object v2
check-cast v2, Landroid/widget/EditText;
iput-object v2, p0, Lcom/b16h22/Profile;->name:Landroid/widget/EditText;
.line 33
const v2, [COLOR="SeaGreen"]0x7f0b0125[/COLOR] # name_edit
invoke-virtual {p0, v2}, Lcom/b16h22/Profile;->findViewById(I)Landroid/view/View;
move-result-object v2
check-cast v2, Landroid/widget/ImageView;
iput-object v2, p0, Lcom/b16h22/Profile;->done:Landroid/widget/ImageView;
.line 34
const v2, [COLOR="Magenta"]0x7f0b011b[/COLOR] # image
invoke-virtual {p0, v2}, Lcom/b16h22/Profile;->findViewById(I)Landroid/view/View;
move-result-object v2
check-cast v2, Landroid/widget/ImageView;
iput-object v2, p0, Lcom/b16h22/Profile;->imageView:Landroid/widget/ImageView;
.line 37
const-string v2, "EvoPrefsFile"
const/4 v3, 0x0
invoke-virtual {p0, v2, v3}, Lcom/b16h22/Profile;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
move-result-object v1
.line 38
.local v1, sharedPreferences:Landroid/content/SharedPreferences;
const-string v2, "profileName"
const-string v3, "null"
invoke-interface {v1, v2, v3}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
iput-object v2, p0, Lcom/b16h22/Profile;->profName:Ljava/lang/String;
.line 39
iget-object v2, p0, Lcom/b16h22/Profile;->profName:Ljava/lang/String;
const-string v3, "null"
if-ne v2, v3, :cond_0
.line 40
iget-object v2, p0, Lcom/b16h22/Profile;->owner:Landroid/widget/TextView;
const-string v3, "Owner"
invoke-virtual {v2, v3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 46
:goto_0
const-string v2, "profilePic"
const-string v3, "null"
invoke-interface {v1, v2, v3}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
iput-object v2, p0, Lcom/b16h22/Profile;->imageUri:Ljava/lang/String;
.line 47
iget-object v2, p0, Lcom/b16h22/Profile;->imageUri:Ljava/lang/String;
const-string v3, "null"
if-ne v2, v3, :cond_1
.line 48
iget-object v2, p0, Lcom/b16h22/Profile;->imageView:Landroid/widget/ImageView;
const v3, [COLOR="Indigo"]0x7f0200b2[/COLOR] #ic_qs_default_user
invoke-virtual {v2, v3}, Landroid/widget/ImageView;->setImageResource(I)V
.line 53
:goto_1
new-instance v2, Lcom/b16h22/Profile$1;
invoke-direct {v2, p0}, Lcom/b16h22/Profile$1;-><init>(Lcom/b16h22/Profile;)V
invoke-virtual {v0, v2}, Landroid/widget/ImageView;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 64
iget-object v2, p0, Lcom/b16h22/Profile;->done:Landroid/widget/ImageView;
new-instance v3, Lcom/b16h22/Profile$2;
invoke-direct {v3, p0}, Lcom/b16h22/Profile$2;-><init>(Lcom/b16h22/Profile;)V
invoke-virtual {v2, v3}, Landroid/widget/ImageView;->setOnClickListener(Landroid/view/View$OnClickListener;)V
.line 80
return-void
.line 42
:cond_0
iget-object v2, p0, Lcom/b16h22/Profile;->owner:Landroid/widget/TextView;
iget-object v3, p0, Lcom/b16h22/Profile;->profName:Ljava/lang/String;
invoke-virtual {v2, v3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
.line 43
iget-object v2, p0, Lcom/b16h22/Profile;->name:Landroid/widget/EditText;
iget-object v3, p0, Lcom/b16h22/Profile;->profName:Ljava/lang/String;
invoke-virtual {v2, v3}, Landroid/widget/EditText;->setText(Ljava/lang/CharSequence;)V
goto :goto_0
.line 50
:cond_1
iget-object v2, p0, Lcom/b16h22/Profile;->imageView:Landroid/widget/ImageView;
iget-object v3, p0, Lcom/b16h22/Profile;->imageUri:Ljava/lang/String;
invoke-static {v3}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v3
invoke-virtual {v2, v3}, Landroid/widget/ImageView;->setImageURI(Landroid/net/Uri;)V
goto :goto_1
.end method
Step 5
Now open the res/xml/settings.xml
and add this iconpreferencescreen.You can add it anywhere you want.I'm assuming you have basic knowledge about preference xmls.
Code:
<com.android.settings.IconPreferenceScreen android:title="Owner Profile" settings:icon="@drawable/ic_settings_owner">
<intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.b16h22.Profile" />
</com.android.settings.IconPreferenceScreen>
EDIT:I forgot to write the step to assign new activity to the android manifest. Thanks to 3r41nl33n for remembering me
Open AndroidManifest.xml and add this
Code:
<activity android:label="@string/change_pic" android:name="com.b16h22.Profile">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
Now save files and compile the settings.apk and push it to system.You have to resign the apk and other system apks or disable signature verification. Now you will have somethng like this
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Now we can move on to modifying the systemui.apk.Decompile systemui.apk
Step 6
Open status_bar_expanded.xml and paste this where you want to put the owner image.
Code:
<LinearLayout android:layout_width="106.66699dip" android:layout_height="106.66699dip">
<com.b16h22.statusbar.ProfilePicture android:id="@id/profile" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginLeft="1.0px" android:layout_marginTop="1.0px" android:layout_marginRight="1.0px" android:layout_marginBottom="1.0px" android:scaleType="centerCrop" />
<com.b16h22.statusbar.ProfileName android:textStyle="normal" android:textColor="#ffffffff" android:gravity="center" android:layout_gravity="center_vertical" android:id="@id/profile_name" android:background="#cc000000" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="1.0px" android:layout_marginRight="1.0px" android:layout_marginBottom="1.0px" android:layout_alignParentBottom="true" />
</LinearLayout >
Now extract the "Owner_mod_files_systemui.zip" and put the smali folder in the systemui smali folder and the pngs in the drawable-ldpi folder.
Step 7
Open ids.xml and add these
Code:
<item type="id" name="profile">false</item>
<item type="id" name="profile_name">false</item>
Recompile the apk and decompile it again
Step 8
Open public.xml and note these ids
Code:
<public type="id" name="profile" id="0x7f09003a" />
<public type="id" name="profile_name" id="0x7f09003b" />
<public type="drawable" name="ic_qs_default_user" id="0x7f02012e" />
Step 9
Open smali/com/b16h22/statusbar/ProfilePicture.smali and find this
Code:
.line 21
const v4, 0x7f09003a
replace the id with the id of "profile"
find
Code:
const v5, 0x7f02012e
replace it with the id of drawable "ic_qs_default_user"
Open smali/com/b16h22/statusbar/ProfilePicture$2.smali
Find
Code:
const v2, 0x7f02012e
replace it with id of drawable "ic_qs_default_user"
Open smali/com/b16h22/statusbar/ProfileName.smali
find
Code:
.line 19
const v2, 0x7f09003b
replace it with the id of "profile_name"
Now recompile the apk and push to system. You should be able to change picture from the settings. Think twice before askin anything. Please point out the faults in the guide if there is any.
DOWNLOADS
owner_mod_files_systemui.zip
owner_mod_files_settings.zip
Click to expand...
Click to collapse
Anyone can use this mods but give credits where its due and keep the spirit of open source. Kanging is bad mmkay
Click to expand...
Click to collapse
Awesome guide,like your rom bro:thumbup:
GREEEEETZ WITH BEATZ!!!
awesome guide
i have problem to decompile ure systemui
haha
bt now i know where the secret
haha
i like ure rom brother
Awesome
Can you make one for the 3 layouts of statusbar too
And AOKP Toggles?
Excited
i wanna try bro ! good job :laugh:
Hey b16h22, dont make tuts for other stuff, ur rom will not be uniqe!
Sent from my GT-S5360 using xda app-developers app
m4RinKo2 said:
Hey b16h22, dont make tuts for other stuff, ur rom will not be uniqe!
Sent from my GT-S5360 using xda app-developers app
Click to expand...
Click to collapse
I guess so bro
Sent From With Connection
Visit My blog : Dvikzz.com
awesome
thanx bro. gonna hav it in our rom maybe..
Great guide. Gonna try to make my own sir.
thanks to your guide..
Sent from my GT-S5360 using xda premium
it didnt worked fr me..
b16h22 said:
Long story short. I decided to port some of my mods to a stock status bar .I tried to make the process relatively easy. So it shouldn't be too much of a problem trying.
Click to expand...
Click to collapse
i tried it. but it didnt worked fr me. i am attaching the systemui. can u please help me to point out what i did wrong? thanx in advance..
I m getting this error when recompiling back systemui
l0lh4rd said:
I m getting this error when recompiling back systemui
Click to expand...
Click to collapse
Check your status_bar.xml for error.One of the lines is not well formed.
Sent from my GT-S5360
Tks u sir ! i got it (^.,,.^)
Do you have free time ? Check your PM
markmellarpes said:
thanks to your guide..
View attachment 2076180
View attachment 2076181
Sent from my GT-S5360 using xda premium
Click to expand...
Click to collapse
Can you share your systemui.apk...nd icon pack you used....plsss
Hit
Button If This Post Helped You
awesome dude, I tried :fingers-crossed:
Good work Op, I am using your rom and its really great looking.. and the statusbar is fully customisable..
Edit: the mod is working great too.
Plz tell me the procedure to use the Moded StatusBarMods.apk on my stock rom.I'm new to this.. @admin
b16h22 said:
Long story short. I decided to port some of my mods to a stock status bar .I tried to make the process relatively easy. So it shouldn't be too much of a problem trying.
Click to expand...
Click to collapse
You are doing a very good job mate. Educating users how to modify and add tweaks for ROMS will prevent them from kanging your work and maybe they will come up with a different tweak with your guide. Keep it up. I always admire your work and thank you for believing in the spirit of open source
Q&A for Guide L Panel For Samsung (Touchwiz)
Some developers prefer that questions remain separate from their main development thread to help keep things organized. Placing your question within this thread will increase its chances of being answered by a member of the community or by the developer.
Before posting, please use the forum search and read through the discussion thread for Guide L Panel For Samsung (Touchwiz). If you can't find an answer, post it here, being sure to give as much information as possible (firmware version, steps to reproduce, logcat if available) so that you can get help.
Thanks for understanding and for helping to keep XDA neat and tidy!
Unable To Find tw_status_bar_expanded.xml in layout Folder..
eboybasit said:
Items Required:-
Apktool 1.5.2 (MUST)
Notepad++
Attachment
Brain
Common sense
-Decompile SystemUI.apk
-Open systemui_src/res/layout
-Open gemini_status_bar_expanded.xml / tw_status_bar_expanded.xml {depends on your chipset}
Copy this and paste it in your expanded.
Code:
<include layout="@layout/eboybasit_ltoggles" />
Save it.
- Open res/values/colors.xml
● Copy the below given codes and paste it above </resources>
Code:
<color name="quickpanel_text_color_ing">#ff75899b</color>
<color name="quickpanel_text_color_off">#ff999fa4</color>
<color name="quickpanel_text_color_on">#ffffffff</color>
Save it.
After that Open string.xml
● Copy the below given codes and paste it above </resources>
Code:
<string name="quickpanel_data_text">Data</string>
<string name="quickpanel_sound_text">Sound</string>
<string name="quickpanel_vibrate_text">Vibration</string>
MERGE FILES OF ATTACHMENT IN YOUR SYSTEMUI
Recompile and decompile again...
Now its time for id replacement.Open public.xml and search the corresponding id and replace it in corresponding smali file as said below.
SystemUI\smali\com\mda\Ltoggle\GpsSettingButton.smali (6 hits)
Code:
Line 98: const v3, 0x7f090165<public type="id" name="quickpanel_gps_btn_icon"
Line 130: const v1, 0x7f020267<public type="drawable" name="quickpanel_icon_gps_on"
Line 133: const v4, 0x7f0a0010<public type="color" name="quickpanel_text_color_on"
Line 139: const v1, 0x7f020266<public type="drawable" name="quickpanel_icon_gps_off"
Line 142: const v4, 0x7f0a000f<public type="color" name="quickpanel_text_color_off"
Line 312: const v0, 0x7f0c011f<public type="string" name="quickpanel_gps_text"
SystemUI\smali\com\mda\Ltoggle\MobileDataSettingButton.smali (6 hits)
Code:
Line 142: const v3, 0x7f090166<public type="id" name="quickpanel_data_btn_icon"
Line 174: const v1, 0x7f020265<public type="drawable" name="quickpanel_icon_data_on"
Line 177: const v4, 0x7f0a0010<public type="color" name="quickpanel_text_color_on"
Line 183: const v1, 0x7f020264<public type="drawable" name="quickpanel_icon_data_off"
Line 186: const v4, 0x7f0a000f<public type="color" name="quickpanel_text_color_off"
Line 433: const v0, 0x7f0c01ba<public type="string" name="quickpanel_data_text"
SystemUI\smali\com\mda\Ltoggle\SoundSettingButton.smali (6 hits)
Code:
Line 127: const v3, 0x7f090169<public type="id" name="quickpanel_sound_btn_icon"
Line 159: const v1, 0x7f02026d<public type="drawable" name="quickpanel_icon_sound_on"
Line 162: const v4, 0x7f0a0010<public type="color" name="quickpanel_text_color_on"
Line 168: const v1, 0x7f02026c<public type="drawable" name="quickpanel_icon_sound_off"
Line 171: const v4, 0x7f0a000f<public type="color" name="quickpanel_text_color_off"
Line 478: const v0, 0x7f0c01bc<public type="string" name="quickpanel_sound_text"
SystemUI\smali\com\mda\Ltoggle\SyncSettingButton.smali (6 hits)
Code:
Line 103: const v3, 0x7f090167<public type="id" name="quickpanel_sync_btn_icon"
Line 135: const v1, 0x7f02026f<public type="drawable" name="quickpanel_icon_sync_on"
Line 138: const v4, 0x7f0a0010<public type="color" name="quickpanel_text_color_on"
Line 144: const v1, 0x7f02026e<public type="drawable" name="quickpanel_icon_sync_off"
Line 147: const v4, 0x7f0a000f<public type="color" name="quickpanel_text_color_off"
Line 315: const v0, 0x7f0c0129<public type="string" name="quickpanel_sync_text"
SystemUI\smali\com\mda\Ltoggle\VibrateSettingButton.smali (6 hits)
[/CODE]
Line 157: const v3, 0x7f09016a<public type="id" name="quickpanel_vibrate_btn_icon"
Line 189: const v1, 0x7f020271<public type="drawable" name="quickpanel_icon_vibrate_on"
Line 192: const v4, 0x7f0a0010<public type="color" name="quickpanel_text_color_on"
Line 198: const v1, 0x7f020270<public type="drawable" name="quickpanel_icon_vibrate_off"
Line 201: const v4, 0x7f0a000f<public type="color" name="quickpanel_text_color_off"
Line 330: const v0, 0x7f0c01bd<public type="string" name="quickpanel_vibrate_text"
[/CODE]
Save, recompile, sign it and push.
Credit And Thanks To:
- Allah Subhaana Wa Ta'alla
- Muhammad Sallal lahu alayhi wassallam
- MDA
- Om Rio Hutabarat (for vertical Toggles )
- Maaadr
- Hendry Zykes
- Eboy Basit
- You
Click to expand...
Click to collapse
plz help ..i m on touchwiz 4.2.2
Answer
Adesh123 said:
plz help ..i m on touchwiz 4.2.2
Click to expand...
Click to collapse
try to find gemini status bar expanded.xml
eboybasit said:
try to find gemini status bar expanded.xml
Click to expand...
Click to collapse
No...its Not...there !! see the attachment
Adesh123 said:
No...its Not...there !! see the attachment
Click to expand...
Click to collapse
System bar expanded.xml
GUIDE AOKP CUSTOM ANIMATIONS
Work and Tested - CM 12.1 & LP Based
1. Decompile framework-res.apk
copy and paste ingredients into place
framework-res.apk\res\values
strings.xml
add the following lines
<string name="animation_fade">Fade</string>
<string name="animation_slide_right">Slide in right</string>
<string name="animation_slide_left">Slide in left</string>
<string name="animation_slide_right_no_fade">Slide in right (No fade)</string>
<string name="animation_slide_left_no_fade">Slide in left (No fade)</string>
<string name="animation_slide_up">Slide in bottom</string>
<string name="animation_slide_down">Slide in top</string>
<string name="animation_default">Default</string>
<string name="animation_translucent">Translucent</string>
<string name="animation_grow_shrink">Grow in (Top)</string>
<string name="animation_grow_shrink_center">Grow in (Center)</string>
<string name="animation_grow_shrink_bottom">Grow in (Bottom)</string>
<string name="animation_grow_shrink_left">Grow in (Left)</string>
<string name="animation_grow_shrink_right">Grow in (Right)</string>
<string name="action_null">Blank</string>
Click to expand...
Click to collapse
Recompile-Decompile again..
framework-res.apk\res\values
open public.xml, and leave it opened
2. Decompile framework.jar
copy and paste ingredients into place
framework.jar\smali\android\provider
Settings$System.smali
PHP:
-copy and paste the line below
.field public static final ACTIVITY_ANIMATION_CONTROLS:[Ljava/lang/String;
-right above
.field public static final ADB_ENABLED:Ljava/lang/String; = "adb_enabled"
-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-
-copy and paste the lines below
.field public static final ANIMATION_CONTROLS_DURATION:Ljava/lang/String; = "animation_controls_duration"
.field public static final ANIMATION_CONTROLS_EXIT_ONLY:Ljava/lang/String; = "animation_controls_exit_only"
.field public static final ANIMATION_CONTROLS_NO_OVERRIDE:Ljava/lang/String; = "animation_controls_no_override"
.field public static final ANIMATION_CONTROLS_REVERSE_EXIT:Ljava/lang/String; = "animation_controls_reverse_exit"
-right above
.field public static final ANIMATOR_DURATION_SCALE:Ljava/lang/String; = "animator_duration_scale"
-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-
-copy and paste the line below
.line 3994
const/16 v4, 0xb
new-array v4, v4, [Ljava/lang/String;
const-string v5, "activity_open"
aput-object v5, v4, v9
const-string v5, "activity_close"
aput-object v5, v4, v10
const-string v5, "task_open"
aput-object v5, v4, v11
const-string v5, "task_close"
aput-object v5, v4, v12
const-string v5, "task_to_front"
aput-object v5, v4, v13
const/4 v5, 0x5
const-string v6, "task_to_back"
aput-object v6, v4, v5
const/4 v5, 0x6
const-string v6, "wallpaper_open"
aput-object v6, v4, v5
const/4 v5, 0x7
const-string v6, "wallpaper_close"
aput-object v6, v4, v5
const/16 v5, 0x8
const-string v6, "wallpaper_intra_open"
aput-object v6, v4, v5
const/16 v5, 0x9
const-string v6, "wallpaper_intra_close"
aput-object v6, v4, v5
const/16 v5, 0xa
const-string v6, "task_open_behind"
aput-object v6, v4, v5
sput-object v4, Landroid/provider/Settings$System;->ACTIVITY_ANIMATION_CONTROLS:[Ljava/lang/String;
-right
sput-object v4, Landroid/provider/Settings$System;->DEFAULT_ALARM_ALERT_URI:Landroid/net/Uri;
Replace id below conform with public.xml framework-res.apk
framework.jar\smali_classes2\com\android\internal\util\aicp
AwesomeAnimationHelper.smali
Line 93 : const v1, 0x10a0088 * type="anim" name="slow_fade_out"
Line 98 : const v1, 0x10a0087 * type="anim" name="slow_fade_in"
Line 106: const v1, 0x10a0085 * type="anim" name="slide_out_right_ribbon"
Line 111: const v1, 0x10a007b * type="anim" name="slide_in_right_ribbon"
Line 119: const v1, 0x10a0082 * type="anim" name="slide_out_left_ribbon"
Line 124: const v1, 0x10a0077 * type="anim" name="slide_in_left_ribbon"
Line 132: const v1, 0x10a007f * type="anim" name="slide_out_down_ribbon"
Line 137: const v1, 0x10a007d * type="anim" name="slide_in_up_ribbon"
Line 145: const v1, 0x10a0086 * type="anim" name="slide_out_up"
Line 150: const v1, 0x10a0075 * type="anim" name="slide_in_down"
Line 158: const v1, 0x10a0084 * type="anim" name="slide_out_right_no_fade"
Line 163: const v1, 0x10a007a * type="anim" name="slide_in_right_no_fade"
Line 171: const v1, 0x10a0081 * type="anim" name="slide_out_left_no_fade"
Line 176: const v1, 0x10a0076 * type="anim" name="slide_in_left_no_fade"
Line 184: const v1, 0x10a009b * type="anim" name="translucent_exit_ribbon"
Line 189: const v1, 0x10a0098 * type="anim" name="translucent_enter_ribbon"
Line 197: const v1, 0x10a0072 * type="anim" name="shrink_fade_out_ribbon"
Line 202: const v1, 0x10a0026 * type="anim" name="grow_fade_in_ribbon"
Line 210: const v1, 0x10a006e * type="anim" name="shrink_fade_out_center_ribbon"
Line 215: const v1, 0x10a0022 * type="anim" name="grow_fade_in_center_ribbon"
Line 223: const v1, 0x10a0071 * type="anim" name="shrink_fade_out_left_ribbon"
Line 228: const v1, 0x10a0025 * type="anim" name="grow_fade_in_left_ribbon"
Line 236: const v1, 0x10a0073 * type="anim" name="shrink_fade_out_right_ribbon"
Line 241: const v1, 0x10a0027 * type="anim" name="grow_fade_in_right_ribbon"
Line 249: const v1, 0x10a0070 * type="anim" name="shrink_fade_out_from_bottom_ribbon"
Line 254: const v1, 0x10a0024 * type="anim" name="grow_fade_in_from_bottom_ribbon"
Line 475: const v2, 0x10407ce * type="string" name="action_null"
Line 487: const v2, 0x10407c7 * type="string" name="animation_default"
Line 498: const v2, 0x10407c0 * type="string" name="animation_fade"
Line 509: const v2, 0x10407c1 * type="string" name="animation_slide_right"
Line 520: const v2, 0x10407c3 * type="string" name="animation_slide_right_no_fade"
Line 531: const v2, 0x10407c2 * type="string" name="animation_slide_left"
Line 542: const v2, 0x10407c5 * type="string" name="animation_slide_up"
Line 553: const v2, 0x10407c6 * type="string" name="animation_slide_down"
Line 564: const v2, 0x10407c4 * type="string" name="animation_slide_left_no_fade"
Line 575: const v2, 0x10407c8 * type="string" name="animation_translucent"
Line 586: const v2, 0x10407cb * type="string" name="animation_grow_shrink_bottom"
Line 597: const v2, 0x10407ca * type="string" name="animation_grow_shrink_center"
Line 608: const v2, 0x10407cc * type="string" name="animation_grow_shrink_left"
Line 619: const v2, 0x10407cd * type="string" name="animation_grow_shrink_right"
Line 630: const v2, 0x10407c9 * type="string" name="animation_grow_shrink"
Line 668: const v3, 0x10a0071 * type="anim" name="shrink_fade_out_left_ribbon"
Line 670: const v1, 0x10a0070 * type="anim" name="shrink_fade_out_from_bottom_ribbon"
Line 672: const v2, 0x10a003b * type="anim" name="no_animation"
Line 707: const v1, 0x10a0087 * type="anim" name="slow_fade_in"
Line 715: const v1, 0x10a0088 * type="anim" name="slow_fade_out"
Line 723: const v1, 0x10a0082 * type="anim" name="slide_out_left_ribbon"
Line 729: const v1, 0x10a007b * type="anim" name="slide_in_right_ribbon"
Line 737: const v1, 0x10a0085 * type="anim" name="slide_out_right_ribbon"
Line 745: const v1, 0x10a0085 * type="anim" name="slide_out_right_ribbon"
Line 751: const v1, 0x10a0077 * type="anim" name="slide_in_left_ribbon"
Line 759: const v1, 0x10a0082 * type="anim" name="slide_out_left_ribbon"
Line 767: const v1, 0x10a0086 * type="anim" name="slide_out_up"
Line 773: const v1, 0x10a007d * type="anim" name="slide_in_up_ribbon"
Line 781: const v1, 0x10a007f * type="anim" name="slide_out_down_ribbon"
Line 789: const v1, 0x10a007f * type="anim" name="slide_out_down_ribbon"
Line 795: const v1, 0x10a0075 * type="anim" name="slide_in_down"
Line 803: const v1, 0x10a0086 * type="anim" name="slide_out_up"
Line 811: const v1, 0x10a0081 * type="anim" name="slide_out_left_no_fade"
Line 817: const v1, 0x10a007a * type="anim" name="slide_in_right_no_fade"
Line 825: const v1, 0x10a0084 * type="anim" name="slide_out_right_no_fade"
Line 833: const v1, 0x10a0084 * type="anim" name="slide_out_right_no_fade"
Line 839: const v1, 0x10a0076 * type="anim" name="slide_in_left_no_fade"
Line 847: const v1, 0x10a0081 * type="anim" name="slide_out_left_no_fade"
Line 855: const v1, 0x10a009a * type="anim" name="translucent_exit_left"
Line 861: const v1, 0x10a0098 * type="anim" name="translucent_enter_ribbon"
Line 869: const v1, 0x10a009b * type="anim" name="translucent_exit_ribbon"
Line 881: const v1, 0x10a0026 * type="anim" name="grow_fade_in_ribbon"
Line 889: const v1, 0x10a0072 * type="anim" name="shrink_fade_out_ribbon"
Line 903: const v1, 0x10a0022 * type="anim" name="grow_fade_in_center_ribbon"
Line 911: const v1, 0x10a006e * type="anim" name="shrink_fade_out_center_ribbon"
Line 919: const v1, 0x10a0073 * type="anim" name="shrink_fade_out_right_ribbon"
Line 925: const v1, 0x10a0025 * type="anim" name="grow_fade_in_left_ribbon"
Line 945: const v1, 0x10a0027 * type="anim" name="grow_fade_in_right_ribbon"
Line 953: const v3, 0x10a0073 * type="anim" name="shrink_fade_out_right_ribbon"
Line 961: const v1, 0x10a0072 * type="anim" name="shrink_fade_out_ribbon"
Line 967: const v1, 0x10a0024 * type="anim" name="grow_fade_in_from_bottom_ribbon"
Click to expand...
Click to collapse
Recompile..
3.Decompile services.jar
copy and paste ingredients into place
Replace id below conform with public.xml framework-res.apk
services.jar\smali\com\android\server\wm\
AppTransition.smali
Line 244 : const/high16 v1, 0x10e0000 * type="integer" name="config_shortAnimTime"
Line 253 : const v0, 0x10c0003 * type="interpolator" name="decelerate_cubic"
Line 262 : const v0, 0x10c000d * type="interpolator" name="fast_out_slow_in"
Line 3509: const v6, 0x10a009e * type="anim" name="voice_activity_open_enter"
Line 3528: const v6, 0x10a009f * type="anim" name="voice_activity_open_exit"
Line 3558: const v6, 0x10a009c * type="anim" name="voice_activity_close_enter"
Line 3574: const v6, 0x10a009d * type="anim" name="voice_activity_close_exit"
Click to expand...
Click to collapse
Recompile..
4.Settings.apk
Settings.apk\res\xml
copy and paste ingredients into place
-OPEN
display.xml
-Add Line
<PreferenceScreen android:title="@string/aokp_animation_title" android:key="aokp_animation" android:summary="@string/aokp_animation_summary" android:fragment="com.android.settings.aicp.AnimationControls" />
Click to expand...
Click to collapse
-OPEN
strings.xml
add the following lines
<string name="aokp_animation_title">System animations</string>
<string name="aokp_animation_summary">AOKP custom animation</string>
<string name="title_animation_no_override">Prevent App Overrides</string>
<string name="summary_animation_no_override">Prevent apps from overriding transitions.</string>
<string name="animation_exit_only_title">Enter only animation</string>
<string name="animation_reverse_exit_title">Reverse exit animation</string>
<string name="activity_open_title">Activity open animation</string>
<string name="activity_close_title">Activity close animation</string>
<string name="task_open_title">Task open animation</string>
<string name="task_close_title">Task close animation</string>
<string name="task_move_to_front_title">Move to front animation</string>
<string name="task_move_to_back_title">Move to back animation</string>
<string name="wallpaper_open_title">Wallpaper open animation</string>
<string name="wallpaper_close_title">Wallpaper close animation</string>
<string name="wallpaper_intra_open_title">Wallpaper intra open animation</string>
<string name="wallpaper_intra_close_title">Wallpaper intra close animation</string>
<string name="task_open_behind_title">Task open behind animation</string>
<string name="animation_duration_title">Animation duration</string>
<string name="animation_duration_default">Default</string>
Click to expand...
Click to collapse
ids.xml
add the following lines
<item type="id" name="monitor_box">false</item>
<item type="id" name="seek_bar">false</item>
Click to expand...
Click to collapse
GO TO
PHP:
Settings.apk\smali\com\android\settings
SettingsPreferenceFragment.smali
-copy and paste the line below
.field protected mContext:Landroid/content/Context;
-right below
.field private mContentResolver:Landroid/content/ContentResolver;
-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-
-copy and paste this line
.field protected mContentRes:Landroid/content/ContentResolver;
-right below
# instance fields
-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-
-copy and paste this lines
.method public setTitle(I)V
.locals 1
.param p1, "resId" # I
.prologue
.line 526
invoke-virtual {p0}, Lcom/android/settings/SettingsPreferenceFragment;->getActivity()Landroid/app/Activity;
move-result-object v0
invoke-virtual {v0, p1}, Landroid/app/Activity;->setTitle(I)V
.line 527
return-void
.end method
-right below
.method protected showDialog(I)V
-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-'-
-copy and paste this lines
.line 93
invoke-virtual {p0}, Lcom/android/settings/SettingsPreferenceFragment;->getActivity()Landroid/app/Activity;
move-result-object v1
invoke-virtual {v1}, Landroid/app/Activity;->getApplicationContext()Landroid/content/Context;
move-result-object v1
iput-object v1, p0, Lcom/android/settings/SettingsPreferenceFragment;->mContext:Landroid/content/Context;
.line 95
invoke-virtual {p0}, Lcom/android/settings/SettingsPreferenceFragment;->getActivity()Landroid/app/Activity;
move-result-object v1
invoke-virtual {v1}, Landroid/app/Activity;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v1
iput-object v1, p0, Lcom/android/settings/SettingsPreferenceFragment;->mContentRes:Landroid/content/ContentResolver;
-right below
invoke-super {p0, p1}, Landroid/preference/PreferenceFragment;->onCreate(Landroid/os/Bundle;)V
Replace id below conform with public.xml
Settings.apk\smali\com\android\settings\aicp\AnimationControls.smali
Line 263: const v5, 0x7f090fb2 * type="string" name="aokp_animation_title"
Line 268: const v5, 0x7f060006 * type="xml" name="aicp_aokp_animation_controls"
Settings.apk\smali\com\android\settings\aicp\AnimBarPreference.smali
Line 80 : const v2, 0x7f040107 * type="layout" name="slider_preference"
Line 90 : const v1, 0x7f100260 * type="id" name="monitor_box"
Line 101: const v1, 0x7f100261 * type="id" name="seek_bar"
Line 223: const v2, 0x7f090fc0 * type="string" name="animation_duration_default"
Click to expand...
Click to collapse
Recompile.
Files and Compare Press Me
GUIDE Toast Animation (Suppport Show-Hide Toast Icon)
Work and Tested - CM 12.1 & LP Based
1. Decompile framework-res
copy and paste ingredients into place
framework-res.apk\res\values
styles.xml
add the following lines
<style name="Animation.Toast.Fade" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/fade_in</item>
<item name="windowExitAnimation">@anim/fade_out</item>
</style>
<style name="Animation.Toast.SlideRight" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/slide_in_right</item>
<item name="windowExitAnimation">@anim/slide_out_right</item>
</style>
<style name="Animation.Toast.SlideLeft" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/slide_in_left</item>
<item name="windowExitAnimation">@anim/slide_out_left</item>
</style>
<style name="Animation.Toast.Xylon" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/xylon_toast_enter</item>
<item name="windowExitAnimation">@anim/xylon_toast_exit</item>
</style>
<style name="Animation.Toast.Toko" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/toko_toast_enter</item>
<item name="windowExitAnimation">@anim/toko_toast_exit</item>
</style>
<style name="Animation.Toast.Tn" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/tn_toast_enter</item>
<item name="windowExitAnimation">@anim/tn_toast_exit</item>
</style>
<style name="Animation.Toast.Honami" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/honami_toast_enter</item>
<item name="windowExitAnimation">@anim/honami_toast_exit</item>
</style>
<style name="Animation.Toast.FastFade" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/fast_fade_in</item>
<item name="windowExitAnimation">@anim/fast_fade_out</item>
</style>
<style name="Animation.Toast.GrowFade" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/grow_fade_in</item>
<item name="windowExitAnimation">@anim/fast_fade_out</item>
</style>
<style name="Animation.Toast.GrowFadeCenter" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/grow_fade_in_center</item>
<item name="windowExitAnimation">@anim/fast_fade_out</item>
</style>
<style name="Animation.Toast.Translucent" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/translucent_enter</item>
<item name="windowExitAnimation">@anim/translucent_exit</item>
</style>
<style name="Animation.Toast.GrowFadeBottom" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/grow_fade_in_from_bottom</item>
<item name="windowExitAnimation">@anim/fast_fade_out</item>
</style>
Click to expand...
Click to collapse
Recompile-Decompile again..
open public.xml, and leave it opened
2.Decompile framework.jar
Copy and paste Ingredients Into His place
Replace id below conform with public.xml framework-res.apk
framework.jar\smali_classes2\android\widget\Toast$TN.smali (15 hits)
Line 97 : const v1, 0x1030004 # type="style" name="Animation.Toast"
Line 301: const v8, 0x1020006 # type="id" name="icon"
Line 525: const v8, 0x1030004 # type="style" name="Animation.Toast"
Line 535: const v8, 0x10304c3 # type="style" name="Animation.Toast.Fade"
Line 545: const v8, 0x10304c4 # type="style" name="Animation.Toast.SlideRight"
Line 555: const v8, 0x10304c5 # type="style" name="Animation.Toast.SlideLeft"
Line 565: const v8, 0x10304c6 # type="style" name="Animation.Toast.Xylon"
Line 575: const v8, 0x10304c7 # type="style" name="Animation.Toast.Toko"
Line 585: const v8, 0x10304c8 # type="style" name="Animation.Toast.Tn"
Line 595: const v8, 0x10304c9 # type="style" name="Animation.Toast.Honami"
Line 605: const v8, 0x10304ca # type="style" name="Animation.Toast.FastFade"
Line 615: const v8, 0x10304cb # type="style" name="Animation.Toast.GrowFade"
Line 625: const v8, 0x10304cc # type="style" name="Animation.Toast.GrowFadeCenter"
Line 635: const v8, 0x10304ce # type="style" name="Animation.Toast.GrowFadeBottom"
Line 645: const v8, 0x10304cd # type="style" name="Animation.Toast.Translucent"
Click to expand...
Click to collapse
3.Decompile Settings.apk
Settings.apk\res\xml
copy and paste ingredients into place
Settings.apk\res\xml
display.xml
-Add Line
<PreferenceScreen android:id="@+id/animation_settings" android:title="@string/animation_settings" android:fragment="com.android.settings.rr.AnimationSettings" />
Click to expand...
Click to collapse
Settings.apk\res\values
strings.xml
add the following lines
<string name="misc_settings_title"><b>Miscellaneous</b></string>
<string name="animation_settings"><b>Animations</b></string>
<string name="toast_title"><b>Toast</b></string>
<string name="toast_icon_title">Toast icon</string>
<string name="toast_animation_title">Toast animations</string>
<string name="toast_animation_summary">Select and preview system toast animation</string>
<string name="toast_none_animation">None</string>
<string name="toast_default_animation">Default</string>
<string name="toast_fade_animation">Fade animation</string>
<string name="toast_SlideRight_animation">Slide right</string>
<string name="toast_SlideLeft_animation">Slide left</string>
<string name="toast_Xylon_animation">Xylon animation</string>
<string name="toast_Toko_animation">Toko animation</string>
<string name="toast_Tn_animation">Tn animation</string>
<string name="toast_Honami_animation">Honami animation</string>
<string name="toast_FastFade_animation">Fast fade</string>
<string name="toast_GrowFade_animation">Grow fade</string>
<string name="toast_GrowFadeCenter_animation">Grow fade center</string>
<string name="toast_GrowFadeBottom_animation">Grow fade bottom</string>
<string name="toast_Translucent_animation">Translucent animation</string>
<string name="animation_settings_title">Animations</string>
Click to expand...
Click to collapse
Settings.apk\res\values
arrays.xml
add the following lines
<string-array name="toast_animation_entries">
<item>@string/toast_none_animation</item>
<item>@string/toast_default_animation</item>
<item>@string/toast_fade_animation</item>
<item>@string/toast_SlideRight_animation</item>
<item>@string/toast_SlideLeft_animation</item>
<item>@string/toast_Xylon_animation</item>
<item>@string/toast_Toko_animation</item>
<item>@string/toast_Tn_animation</item>
<item>@string/toast_Honami_animation</item>
<item>@string/toast_FastFade_animation</item>
<item>@string/toast_GrowFade_animation</item>
<item>@string/toast_GrowFadeCenter_animation</item>
<item>@string/toast_GrowFadeBottom_animation</item>
<item>@string/toast_Translucent_animation</item>
</string-array>
<string-array name="toast_animation_values">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
<item>11</item>
<item>12</item>
<item>13</item>
</string-array>
Click to expand...
Click to collapse
Settings.apk\smali\com\android\settings
SettingsPreferenceFragment.smali
PHP:
-copy and paste the line below
.field protected mContext:Landroid/content/Context;
-right below
.field private mContentResolver:Landroid/content/ContentResolver;
--------------------------------------------------------------------------
-copy and paste this line
.line 93
invoke-virtual {p0}, Lcom/android/settings/SettingsPreferenceFragment;->getActivity()Landroid/app/Activity;
move-result-object v1
invoke-virtual {v1}, Landroid/app/Activity;->getApplicationContext()Landroid/content/Context;
move-result-object v1
iput-object v1, p0, Lcom/android/settings/SettingsPreferenceFragment;->mContext:Landroid/content/Context;
.line 94
invoke-virtual {p0}, Lcom/android/settings/SettingsPreferenceFragment;->getActivity()Landroid/app/Activity;
move-result-object v2
invoke-virtual {v2}, Landroid/app/Activity;->getApplicationContext()Landroid/content/Context;
move-result-object v2
iput-object v2, p0, Lcom/android/settings/SettingsPreferenceFragment;->mContext:Landroid/content/Context;
-right below
invoke-super {p0, p1}, Landroid/preference/PreferenceFragment;->onCreate(Landroid/os/Bundle;)V
Recompile
Decompile
Settings.apk\smali\com\android\settings\rr
AnimationSettings.smali
Replace id below conform with public.xml
const v1, 0x7f06006c public type="xml" name="rr_animation_settings" id="
Click to expand...
Click to collapse
Recompile.
Files and Compare Press Me
Thanks bro, and good job !!
Enviado desde mi Lenovo K50-t5 mediante Tapatalk