Splendid™
14.10.25
조회 수 9363
추천 수 1
댓글 2

Splendid입니다.

 

다른 갤럭시폰에서 노트4 날씨위젯을 사용할 때 도시 리스트를 보려고 하면 강제종료 혹은 오류가 나죠.

해결법을 알려드리겠습니다.

 

디오덱스한 현재 휴대폰의 twframework.jar을 추출합니다.

디컴파일합니다.

 

twframework.jar/smalicomsecandroidtouchwizwidget

위의 경로로 들어갑니다.

 

그리고 TwAdapterView.smali 를 열어주세요.

 

 

# annotations

.annotation system Ldalvik/annotation/MemberClasses;

    value = {

        Lcom/sec/android/touchwiz/widget/TwAdapterView$1;,

        Lcom/sec/android/touchwiz/widget/TwAdapterView$SelectionNotifier;,

        Lcom/sec/android/touchwiz/widget/TwAdapterView$AdapterDataSetObserver;,

        Lcom/sec/android/touchwiz/widget/TwAdapterView$AdapterContextMenuInfo;,

        Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwNotifyKeyPressListener;,

        Lcom/sec/android/touchwiz/widget/TwAdapterView$OnItemSelectedListener;,

        Lcom/sec/android/touchwiz/widget/TwAdapterView$OnItemLongClickListener;,

        Lcom/sec/android/touchwiz/widget/TwAdapterView$OnItemClickListener;

    }

.end annotation



위의 항목을 찾아주세요.

그리고 구문을 추가합니다.


# annotations

.annotation system Ldalvik/annotation/MemberClasses;

    value = {

        Lcom/sec/android/touchwiz/widget/TwAdapterView$1;,

        Lcom/sec/android/touchwiz/widget/TwAdapterView$SelectionNotifier;,

        Lcom/sec/android/touchwiz/widget/TwAdapterView$AdapterDataSetObserver;,

        Lcom/sec/android/touchwiz/widget/TwAdapterView$AdapterContextMenuInfo;,

        Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwNotifyKeyPressListener;,

        Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwMultiSelectedListener;,

        Lcom/sec/android/touchwiz/widget/TwAdapterView$OnItemSelectedListener;,

        Lcom/sec/android/touchwiz/widget/TwAdapterView$OnItemLongClickListener;,

        Lcom/sec/android/touchwiz/widget/TwAdapterView$OnItemClickListener;

    }

.end annotation

 

 

위처럼 구문을 추가해줍니다.

 

그 다음은 

 

.field mOnItemLongClickListener:Lcom/sec/android/touchwiz/widget/TwAdapterView$OnItemLongClickListener;


.field mOnItemSelectedListener:Lcom/sec/android/touchwiz/widget/TwAdapterView$OnItemSelectedListener;

 

 

위 구문을 찾습니다.

그리고 바로 그 아래칸에 구문을 추가하여 아래와 같이 만들어줍니다.

 

.field mOnItemLongClickListener:Lcom/sec/android/touchwiz/widget/TwAdapterView$OnItemLongClickListener;


.field mOnItemSelectedListener:Lcom/sec/android/touchwiz/widget/TwAdapterView$OnItemSelectedListener;


.field mOnTwMultiSelectedListener:Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwMultiSelectedListener;


.field mOnTwNotifyKeyPressListener:Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwNotifyKeyPressListener;



이렇게 하셨으면 맽 끝으로 가서 한줄 띄우고 구문을 추가해줍니다.

 

.method public final getOnTwMultiSelectedListener()Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwMultiSelectedListener;

    .locals 1


    .prologue

    .line 437

    .local p0, this:Lcom/sec/android/touchwiz/widget/TwAdapterView;,"Lcom/sec/android/touchwiz/widget/TwAdapterView;"

    iget-object v0, p0, Lcom/sec/android/touchwiz/widget/TwAdapterView;->mOnTwMultiSelectedListener:Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwMultiSelectedListener;


    return-object v0

.end method


.method public setTwMultiSelectedListener(Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwMultiSelectedListener;)V

    .locals 0


    .prologue

    .line 429

    .local p0, this:Lcom/sec/android/touchwiz/widget/TwAdapterView;,"Lcom/sec/android/touchwiz/widget/TwAdapterView;"

    iput-object p1, p0, Lcom/sec/android/touchwiz/widget/TwAdapterView;->mOnTwMultiSelectedListener:Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwMultiSelectedListener;


    .line 430

    return-void

.end method


.method public twNotifyMultiSelectedStart()V

    .locals 1


    .prologue

    .line 455

    .local p0, this:Lcom/sec/android/touchwiz/widget/TwAdapterView;,"Lcom/sec/android/touchwiz/widget/TwAdapterView;"

    iget-object v0, p0, Lcom/sec/android/touchwiz/widget/TwAdapterView;->mOnTwMultiSelectedListener:Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwMultiSelectedListener;


    if-eqz v0, :cond_0


    .line 459

    :cond_0

    return-void

.end method


.method public twNotifyMultiSelectedStart(II)V

    .locals 1

  

    .prologue

    .line 473

    .local p0, this:Lcom/sec/android/touchwiz/widget/TwAdapterView;,"Lcom/sec/android/touchwiz/widget/TwAdapterView;"

    iget-object v0, p0, Lcom/sec/android/touchwiz/widget/TwAdapterView;->mOnTwMultiSelectedListener:Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwMultiSelectedListener;


    if-eqz v0, :cond_0


    .line 474

    iget-object v0, p0, Lcom/sec/android/touchwiz/widget/TwAdapterView;->mOnTwMultiSelectedListener:Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwMultiSelectedListener;


    invoke-interface {v0, p1, p2}, Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwMultiSelectedListener;->OnTwMultiSelectStart(II)V


    .line 477

    :cond_0

    return-void

.end method


.method public twNotifyMultiSelectedState(Landroid/view/View;IJZZZ)Z

    .locals 9

    

    .prologue

    .line 442

    .local p0, this:Lcom/sec/android/touchwiz/widget/TwAdapterView;,"Lcom/sec/android/touchwiz/widget/TwAdapterView;"

    iget-object v0, p0, Lcom/sec/android/touchwiz/widget/TwAdapterView;->mOnTwMultiSelectedListener:Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwMultiSelectedListener;


    if-eqz v0, :cond_0


    .line 443

    iget-object v0, p0, Lcom/sec/android/touchwiz/widget/TwAdapterView;->mOnTwMultiSelectedListener:Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwMultiSelectedListener;


    move-object v1, p0


    move-object v2, p1


    move v3, p2


    move-wide v4, p3


    move v6, p5


    move v7, p6


    move/from16 v8, p7


    invoke-interface/range {v0 .. v8}, Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwMultiSelectedListener;->onTwMultiSelected(Lcom/sec/android/touchwiz/widget/TwAdapterView;Landroid/view/View;IJZZZ)V


    .line 444

    const/4 v0, 0x1


    .line 447

    :goto_0

    return v0


    :cond_0

    const/4 v0, 0x0


    goto :goto_0

.end method


.method public twNotifyMultiSelectedStop()V

    .locals 1


    .prologue

    .line 466

    .local p0, this:Lcom/sec/android/touchwiz/widget/TwAdapterView;,"Lcom/sec/android/touchwiz/widget/TwAdapterView;"

    iget-object v0, p0, Lcom/sec/android/touchwiz/widget/TwAdapterView;->mOnTwMultiSelectedListener:Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwMultiSelectedListener;


    if-eqz v0, :cond_0


    .line 469

    :cond_0

    return-void

.end method


.method public twNotifyMultiSelectedStop(II)V

    .locals 1

  

    .prologue

    .line 481

    .local p0, this:Lcom/sec/android/touchwiz/widget/TwAdapterView;,"Lcom/sec/android/touchwiz/widget/TwAdapterView;"

    iget-object v0, p0, Lcom/sec/android/touchwiz/widget/TwAdapterView;->mOnTwMultiSelectedListener:Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwMultiSelectedListener;


    if-eqz v0, :cond_0


    .line 482

    iget-object v0, p0, Lcom/sec/android/touchwiz/widget/TwAdapterView;->mOnTwMultiSelectedListener:Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwMultiSelectedListener;


    invoke-interface {v0, p1, p2}, Lcom/sec/android/touchwiz/widget/TwAdapterView$OnTwMultiSelectedListener;->OnTwMultiSelectStop(II)V


    .line 484

    :cond_0

    return-void

.end method

 

 

이렇게 추가하셨으면 저장하고 닫습니다.

 

그 다음엔 같은 폴더에 TwAbsListView.smali를 열어줍니다.

 

.field private mIsCtrlkeyPressed:Z


.field private mIsDoubleTapDone:Z

 

이 항목을 찾아서 한줄 띄우고 구문을 추가해줍니다.

 

.field private mIsCtrlkeyPressed:Z


.field private mIsDoubleTapDone:Z


.field private mIsDragBlockEnabled:Z

 

이렇게 완료가 되었으면

밑으로 가서 아래의 구문을 추가합니다.

 

.method public setEnableDragBlock(Z)V

    .locals 1


    .prologue

    .line 9476

    const/4 v0, 0x0


    iput-boolean v0, p0, Lcom/sec/android/touchwiz/widget/TwAbsListView;->mIsDragBlockEnabled:Z


    .line 9477

    return-void

.end method

 

그리고 저장합니다.

그리고 첨부파일의 smali를 같은 폴더에 넣고 컴파일해주시면 끝납니다.

 

결과물




Extra Form
첨부
c881edd4307176afecc08e65ee19a91b042024.png  [File Size:1.24MB/Download:0]
TwAdapterView$OnTwMultiSelectedListener.smali  [File Size:1002Bytes/Download:21]
댓글을 남겨야 다운로드가 가능합니다. 감사의 댓글을 달고 오른쪽 확인버튼을 눌러주세요.
다운로드시 일주일에 한개 이상의 게시물 작성이 필요합니다. 지금 자유게시판에 회원님의 하루를 남겨보세요.
추천♡버튼을 잊지 마세요. 추천인과 회원님 모두 포인트가 적립됩니다.

Splendid™ 님의 SIGNATURE

profile
Splendid입니다
댓글 2
댓글 쓰기 권한이 없습니다.
강좌 정렬 목록 검색 쓰기
등록된 글이 없습니다.
1