내가제로쿨님이 그러시길....펌업후에


저걸 적용하면 볼륨키를 누르면 종료트윅이 떠버린다네요..


왜 그럴까하고 다시 뜯어봤습니다.


기존 노트4 구문


    invoke-virtual {v0, v13, v6, v5}, Lcom/android/internal/policy/impl/sec/SamsungPhoneWindowManager;->handleSamsungVolumeControl(IZZ)V


펍업후 노트4 구문


    invoke-virtual {v0, v12, v6, v5}, Lcom/android/internal/policy/impl/sec/SamsungPhoneWindowManager;->handleSamsungVolumeControl(IZZ)V


인수값이 v13에서 v12로 오히려 바뀌었습니다.

저 12는 갤파 노트2 4.4.2 시절에 가지던 값이었는데 ㅎㅎ;;;


따라서.... 노트4에 펌업후에 저 기능을 포팅하시려거든..가이드에서.. 4.4.4는 v13이라는말을 사뿐히 씹어드시면 됩니다.


자 다음은 종료트윅입니다.


수정방법은 기존과 아주아주 같아요~~


다만.. 수정할 파일이 두개가 있네요.


왜냐하면요...... 종료트윅에 가장 많이 쓰이는 스말리의 구문에 있습니다.


아래는 그중하나인 99의 구문입니다.


    # getter for: Lcom/android/internal/policy/impl/GlobalActions;->mContext:Landroid/content/Context;
    invoke-static {v2}, Lcom/android/internal/policy/impl/GlobalActions;->access$400(Lcom/android/internal/policy/impl/GlobalActions;)Landroid/content/Context;


GlobalActions에서 access$400(Lcom/android/internal/policy/impl/GlobalActions;)Landroid/content/Context

라는 메서드한테 접근합니다.


근데 새로 펌업된 구문의 400 메서드는..?


.method static synthetic access$400()Z
    .registers 1

    .prologue
    .line 162
    sget-boolean v0, Lcom/android/internal/policy/impl/GlobalActions;->mlsShowingMiniDialog:Z

    return v0
.end method


요러네요~ 아.... 메서드가 다르네요!!! 고수님들이라면 한번에 알아차리고 수정하셧을텐데...(하얀여우님이 루팅을 안하셔서 로그캣을 못 뽑아서 그럴수도있으니 넘어가죠 (?) )


새로 펌업되서 불러와야 할 메서드는  바로


.method static synthetic access$600(Lcom/android/internal/policy/impl/GlobalActions;)Landroid/content/Context;
    .registers 2
    .param p0, "x0"    # Lcom/android/internal/policy/impl/GlobalActions;

    .prologue
    .line 162
    iget-object v0, p0, Lcom/android/internal/policy/impl/GlobalActions;->mContext:Landroid/content/Context;

    return-object v0
.end method


요놈입니다. 400과 600으로 숫자가 다릅니다 @_@;;;;;



따라서 종료트윅을 위해 새로 추가하는 스말리의 $400 을 $600으로 바꾸시면 됩니다.

댓글 5
댓글 쓰기 권한이 없습니다.
정렬 목록 검색 쓰기
등록된 글이 없습니다.
1 - 2