;W595 SW-R3EF001 ;Selection an event by Timer ;For events you can set: ;item 1: standard action ;item 2: shutdown ;item 3: restart ;item 4: included the last profile from the list ;item 5: key lock ;item 6: play music when music not playing/stop music when music playing ;item 7: turn off Bluetooth ;item 8: turn on silent when silent is off/turn off silent when silent is on ;Added information about patch ;Ability to choose action by numeric buttons ;(!) Must be rollback patch "Shutting down the phone by an timer" ;(!) HeapShift (0x4BBF29F1) ;v 1.1 ;(c) Sic ;(r) Ploik ;(e,p) jamesbond22 include "x.inc" include "lib\W902.inc" org 0x10FAAD76;10fa2ff6 ;pg_TimerBook_Enter blx R2 org 0x10FAADEC;10fa306c ;start_lng dw newcode+1 org 0x10FAAF90;10fa3210 ;TimerBook_Exit ;sound id mov R0, 0x18 org 0x10FAAFBE;10fa323e blx R1 org 0x10FAAFD0;10fa3250 blx R0 org 0x10FAAFF0;10fa3270 ;icon ;;;;;;; 0x2710 ldr R1, 0x10FAB03C;10FA32BC org 0x10FAB00C;10fa328c blx R2 ldr R0, [R5] nop nop org 0x10FAB040;10fa32c0 dw body+1 org 0x10FAB048;10fa32c8 off_10FA32C8 dw body1+1 dword_10FA32CC dw 0xFBF;ACTION_OK dword_10FA32D0 dw 0xF8F7 ;bt_paired_camera_icn ;off_10FA32D4 DCD loc_10FA33B8+1 ;łączy hooki org 0x10FAB058;10fa32d8 off_10FA32D8 dw 0x10FAB0D0+1;10FA3350+1 off_10FA32DC dw body2+1 ;--------------------------------------------patchbody---------------------------------------------- org 0x11D5C270;11f18da0 newcode: ldr R2, _start_lng ldr R0, [R4] ;ldr r0, [r5] push {R0-R7,LR} ldr R0, [R4] ldr R1, _ACTION_NO adr R2, loc_11F18E0C add R2, 1 bl sub_11F19010 ldr R0, [R4] ldr R1, _ACTION_NO ldr R2, _tasks_lng bl sub_11F19020 ldr R0, [R4] ldr R1, _ACTION_NO mov R2, 1 bl sub_11F19024 ldr R0, [R4] mov R1, 1 adr R2, loc_11F18DE8 add R2, 1 bl sub_11F19010 ldr R0, [R4] mov R1, 1 ldr R2, _Information_lng bl sub_11F19020 ldr R0, [R4] mov R1, 1 mov R2, 1 bl sub_11F19024 pop {R0-R7,PC} loc_11F18DE8: push {R4,LR} adr R0, aSelectionAnEve mov R2, 0xFF mov R1, 6 bl sub_11F18FEC add R4, R0, 0 mov R0, 0 mov R1, 0 push {R0,R1} mov R3, 1 add R1, R4, 0 add R0, R4, 0 ldr R2, dword_11F190B4 bl sub_11F18FE8 add SP, SP, 8 pop {R4,PC} loc_11F18E0C: push {R4,LR} add R4, R0, 0 add R0, R1, 0 bl sub_11F18FF0 mov R3, SP bl sub_11F18FF8 add R0, R4, 0 adr R1, off_11F19054 bl sub_11F18FF4 pop {R4,PC} body3: push {R0,R4,R5,LR} ldr R5, off_loadfromheap ldrb R5, [R5] add R4, R1, 0 add R0, R4, 0 bl sub_11F18FFC str R0, [R4,0x18] ldr R1, _tasks_lng bl sub_11F19000 ldr R0, [R4,0x18] mov R1, 8 bl sub_11F19004 ldr R0, [R4,0x18] add R1, R5, 0 bl sub_11F19008 ldr R0, [R4,0x18] ldr R1, off_11F190FC mov R2, 8 bl sub_11F1900C ldr R0, [R4,0x18] mov R1, 1 bl sub_11F1902C ldr R0, [R4,0x18] ldr R1, _ACTION_LONG_BACK adr R2, loc_11F18EB4 add R2, 1 bl sub_11F19010 ldr R0, [R4,0x18] ldr R1, _ACTION_SELECT1 adr R2, loc_11F18E90 add R2, 1 bl sub_11F19010 ldr R0, [R4,0x18] movl R1, 0xFC0 ;ACTION_BACK adr R2, loc_11F18EA8 add R2, 1 bl sub_11F19010 ldr R0, [R4,0x18] bl sub_11F19014 mov R0, 1 pop {R3-R5,PC} align 4 loc_11F18E90: push {R4,LR} add R4, R0, 0 add R5, R1, 0 add R0, R1, 0 bl sub_11F19018 ldr R6, off_loadfromheap strb R0, [R6] add R0, R5, 0 bl sub_11F1901C pop {R4,PC} loc_11F18EA8: push {R0-R7,LR} add R0, R1, 0 bl sub_11F1901C pop {R0-R7,PC} align 4 loc_11F18EB4: push {R0-R7,LR} ldr R0, _RETURN_TO_STANDBY_EVENT bl sub_11F19028 pop {R0-R7,PC} body: add R2, R4, 0 push {R0,R2-R7,LR} ldr R5, off_loadfromheap ldrb R5, [R5] cmp R5, 1 beq loc_11F18EE6 cmp R5, 2 beq loc_11F18EEC cmp R5, 3 beq loc_11F18EF2 cmp R5, 4 beq loc_11F18EF8 cmp R5, 5 beq loc_11F18EFE cmp R5, 6 beq loc_11F18F04 cmp R5, 7 beq loc_11F18F0A ldr R1, off_addr2 B locret_11F18F0E loc_11F18EE6: adr R1, loc_11F18F10 add R1, 1 B locret_11F18F0E loc_11F18EEC: adr R1, loc_11F18F20 add R1, 1 B locret_11F18F0E loc_11F18EF2: adr R1, loc_11F18FBC add R1, 1 B locret_11F18F0E loc_11F18EF8: adr R1, loc_11F18FB0 add R1, 1 B locret_11F18F0E loc_11F18EFE: adr R1, loc_11F18FCC add R1, 1 B locret_11F18F0E loc_11F18F04: adr R1, loc_11F18FD4 add R1, 1 B locret_11F18F0E loc_11F18F0A: adr R1, loc_11F18FE0 add R1, 1 locret_11F18F0E: pop {R0,R2-R7,PC} loc_11F18F10: push {LR} bl sub_11F18F1A mov R0, 1 pop {PC} sub_11F18F1A: var_8 = -8 ldr R3, off_11F19118 bx R3 align 4 loc_11F18F20: push {LR} bl sub_11F18F2A mov R0, 1 pop {PC} sub_11F18F2A: ldr R3, off_restart bx R3 body1: add R2, R4, 0 push {R1-R7,LR} ldr R5, off_loadfromheap ldrb R5, [R5] cmp R5, 1 beq loc_11F18F56 cmp R5, 2 beq loc_11F18F5A cmp R5, 3 beq loc_11F18F5E cmp R5, 4 beq loc_11F18F62 cmp R5, 5 beq loc_11F18F66 cmp R5, 6 beq loc_11F18F6A cmp R5, 7 beq loc_11F18F6E ldr R0, _timer_lng B locret_11F18F70 loc_11F18F56: ldr R0, _disabled_lng B locret_11F18F70 loc_11F18F5A: ldr R0, _Retrieve_lng B locret_11F18F70 loc_11F18F5E: ldr R0, _select_profile_lng B locret_11F18F70 loc_11F18F62: ldr R0, _key_lock_lng B locret_11F18F70 loc_11F18F66: ldr R0, _play_lng B locret_11F18F70 loc_11F18F6A: ldr R0, dword_11F19168 B locret_11F18F70 loc_11F18F6E: ldr R0, _Turn_on_silent_lng locret_11F18F70: pop {R1-R7,PC} body2: push {R0-R7,LR} ldr R1, _ACTION_OK ldr R0, [R5] ldr R7, off_addr4 blx R7 cmp R0, 0 beq loc_11F18F88 ldr R1, _ACTION_OK ldr R0, [R5] ldr R7, off_11F190C4 blx R7 loc_11F18F88: adr R2, loc_11F18F98 add R2, 1 ldr R1, _ACTION_OK ldr R0, [R5] ldr R7, off_11F190C0 blx R7 pop {R0-R7,PC} align 4 loc_11F18F98: push {R0-R7,LR} ldr R7, off_11F1910C blx R7 bl body ldr R7, off_addr2 cmp R7, R1 beq locret_11F18FAC add R7, R1, 0 blx R7 locret_11F18FAC: pop {R0-R7,PC} align 4 loc_11F18FB0: push {R0,R4,R5,LR} ldr R0, _UI_KEYLOCK_ACTIVATE_EVENT ldr R4, off_11F19110 blx R4 pop {R3-R5,PC} align 4 loc_11F18FBC: push {R0-R7,LR} ldr R0, off_streaming_savequestion ldr R0, [R0] mov R1, 6 ldr R7, off_addr3 blx R7 pop {R0-R7,PC} align 4 loc_11F18FCC: push {R0-R7,LR} ldr R7, off_11F19120 blx R7 pop {R0-R7,PC} loc_11F18FD4: push {R0-R7,LR} ;--- mov R0, 0 ldr R7, off_btdef blx R7 pop {R0-R7,PC} align 4 loc_11F18FE0: push {R0-R7,LR} ldr R7, off_music blx R7 pop {R0-R7,PC} sub_11F18FE8: ldr R6, off_11F190AC bx R6 sub_11F18FEC: ldr R3, off_11F190B0 bx R3 sub_11F18FF0: ldr R3, off_11F190DC bx R3 sub_11F18FF4: ldr R3, off_11F190E4 bx R3 sub_11F18FF8: ldr R6, off_addr1 bx R6 sub_11F18FFC: ldr R3, off_11F190EC bx R3 sub_11F19000: ldr R3, off_11F190F0 bx R3 sub_11F19004: ldr R3, off_11F190F4 bx R3 sub_11F19008: ldr R3, off_11F190F8 bx R3 sub_11F1900C: ldr R3, off_11F19100 bx R3 sub_11F19010: ldr R3, off_11F190C0 bx R3 sub_11F19014: ldr R3, off_11F19104 bx R3 sub_11F19018: ldr R3, off_11F19108 bx R3 sub_11F1901C: ldr R3, off_11F19138 bx R3 sub_11F19020: ldr R3, off_11F190B8 bx R3 sub_11F19024: ldr R3, off_11F190BC bx R3 sub_11F19028: ldr R3, off_11F19110 bx R3 sub_11F1902C: ldr R3, off_11F1912C bx R3 aTimerbook_even db "TimerBook_Event_Page",0 db 0xFF align 4 _enter_ac dw 0xF dw body3+1 dw 0 off_11F19054 dw aTimerbook_even dw 0 dw _enter_ac ;coment align 4 aSelectionAnEve db "Selection an event by Timer",0xA db "v. 1.1",0xA ;db 0xA db "(c) Sic",0xA db "(r) Ploik",0xA db "(e) jamesbond22",0xA db "(p) MiFa",0 ;end ;----------------------------------------------------------------------------------------------------- align 4 _Information_lng dw 0x6AD off_11F190AC dw MessageBox+1 off_11F190B0 dw Str2ID+1 dword_11F190B4 dw 0xFFFF off_11F190B8 dw GUIObject_Softkeys_SetText+1 off_11F190BC dw GUIObject_SoftKeys_SetVisible+1 off_11F190C0 dw GUIObject_Softkeys_SetAction+1 off_11F190C4 dw GUIObject_SoftKeys_RemoveItem+1 _ACTION_SELECT1 dw 0xFC2 _ACTION_OK dw 0xFBF _ACTION_NO dw 0xFBE _ACTION_LONG_BACK dw 0xFAF _RETURN_TO_STANDBY_EVENT dw 0x840 off_11F190DC dw TimeInput_GetTimeInt+1 off_addr1 dw 0x10FAB330+1;10FA35B0+1 off_11F190E4 dw BookObj_GotoPage+1 off_loadfromheap dw 0x4BBFF29B;4BBF29F1 off_11F190EC dw CreateOneOfMany+1 off_11F190F0 dw GUIObject_SetTitleText+1 off_11F190F4 dw OneOfMany_SetItemCount+1 off_11F190F8 dw OneOfMany_SetChecked+1 off_11F190FC dw _standard_lng off_11F19100 dw OneOfMany_SetTexts+1 off_11F19104 dw GUIObject_Show+1 off_11F19108 dw OneOfMany_GetSelected+1 off_11F1910C dw FreeBook+1 off_11F19110 dw UI_Event+1 off_addr2 dw 0x10FAB218+1;10FA3498+1 off_11F19118 dw REQUEST_SYSTEM_SHUTDOWN+1 off_restart dw 0x1151332C+1;114F2990+1 off_11F19120 dw GoMusic+1 off_btdef dw 0x10A6CACC+1;10A6445C+1 off_music dw 0x10D96AC4+1;10D8E748+1 off_11F1912C dw ListMenu_SetHotkeyMode+1 off_streaming_savequestion dw 0x11B61A7C+1;11B61A7F+1;11B3C0CB+1 off_addr3 dw 0x11AC0D1C+1;11A9B26C+1 off_11F19138 dw GUIObject_Destroy+1 ;GUI_Free off_addr4 dw 0x10815710+1;1080D6D0+1 _UI_KEYLOCK_ACTIVATE_EVENT dw 0x5E27 ;lang _tasks_lng dw 0x21B _timer_lng dw 0x2876 _start_lng dw 0xD98 _standard_lng dw 0x774 _disabled_lng dw 0x867 _Retrieve_lng dw 0x57C _select_profile_lng dw 0x13D4 _key_lock_lng dw 0x234D _play_lng dw 0x707 dword_11F19168 dw 0x1ae ;Wyłącz bluetooth _Turn_on_silent_lng dw 0x1BC4 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;