Originariamente inviato da
rattlehead
Nicola, ora sto al lavoro e non posso controllare nulla.
A te l'app messaggi va in crash?
A me da questo errore.
Ci aggiorniamo....buona domenica
Trovato la soluzione
Decompilare il SecMms.apk e andare in smali/com/android/mms/ui ed aprire il file ComposeMessageFragment.smali e cercare il metodo .method public onSipStatusChanged()V ed eliminare le seguenti linee in rosso
codice:
.method public onSipStatusChanged()V
.locals 4
.prologue
const/4 v3, 0x0
const/4 v2, 0x1
.line 11608
invoke-static {}, Lcom/android/mms/ui/SipHandler;->isSipVisible()Z
move-result v1
if-eqz v1, :cond_2
iget-boolean v1, p0, Lcom/android/mms/ui/ComposeMessageFragment;->isHideCompose:Z
if-nez v1, :cond_2
.line 11609
iget-object v1, p0, Lcom/android/mms/ui/ComposeMessageFragment;->mMsgListView:Lcom/android/mms/ui/MessageListView;
invoke-virtual {v1, v3}, Lcom/android/mms/ui/MessageListView;->setMotionEvent(Z)V
.line 11610
invoke-direct {p0, v2}, Lcom/android/mms/ui/ComposeMessageFragment;->updateEditorSize(Z)V
.line 11617
:goto_0
invoke-direct {p0}, Lcom/android/mms/ui/ComposeMessageFragment;->showHideActionbar()V
.line 11621
iget-object v1, p0, Lcom/android/mms/ui/ComposeMessageFragment;->mActivity:Landroid/app/Activity;
check-cast v1, Lcom/android/mms/ui/ConversationComposer;
invoke-virtual {v1}, Lcom/android/mms/ui/ConversationComposer;->getSplitMode()I
move-result v0
.line 11622
.local v0, splitMode:I
const/4 v1, 0x2
if-ne v0, v1, :cond_0
invoke-static {}, Lcom/android/mms/ui/SipHandler;->isSipVisible()Z
move-result v1
if-eqz v1, :cond_0
iget-object v1, p0, Lcom/android/mms/ui/ComposeMessageFragment;->mActivity:Landroid/app/Activity;
check-cast v1, Lcom/android/mms/ui/ConversationComposer;
invoke-virtual {v1}, Lcom/android/mms/ui/ConversationComposer;->isSearchMode()Z
move-result v1
if-eq v1, v2, :cond_0
.line 11624
iget-object v1, p0, Lcom/android/mms/ui/ComposeMessageFragment;->mActivity:Landroid/app/Activity;
check-cast v1, Lcom/android/mms/ui/ConversationComposer;
invoke-virtual {v1, v3}, Lcom/android/mms/ui/ConversationComposer;->refreshSplitManager(Z)V
.line 11625
iget-object v1, p0, Lcom/android/mms/ui/ComposeMessageFragment;->mActivity:Landroid/app/Activity;
check-cast v1, Lcom/android/mms/ui/ConversationComposer;
invoke-virtual {v1}, Lcom/android/mms/ui/ConversationComposer;->invalidateOptionsMenu()V
.line 11628
:cond_0
invoke-static {}, Lcom/android/mms/ui/SipHandler;->isSipVisible()Z
move-result v1
if-nez v1, :cond_1
iget-object v1, p0, Lcom/android/mms/ui/ComposeMessageFragment;->mMsgListView:Lcom/android/mms/ui/MessageListView;
if-eqz v1, :cond_1
.line 11629
iget-object v1, p0, Lcom/android/mms/ui/ComposeMessageFragment;->mMsgListView:Lcom/android/mms/ui/MessageListView;
iget-object v2, p0, Lcom/android/mms/ui/ComposeMessageFragment;->mMsgListView:Lcom/android/mms/ui/MessageListView;
invoke-virtual {v2}, Lcom/android/mms/ui/MessageListView;->getCount()I
move-result v2
invoke-virtual {v1, v2}, Lcom/android/mms/ui/MessageListView;->setSelection(I)V
.line 11630
:cond_1
return-void
.line 11612
.end local v0 #splitMode:I
:cond_2
iget-object v1, p0, Lcom/android/mms/ui/ComposeMessageFragment;->mMsgListView:Lcom/android/mms/ui/MessageListView;
invoke-virtual {v1, v2}, Lcom/android/mms/ui/MessageListView;->setMotionEvent(Z)V
goto :goto_0
.end method
Edit:un grazie a reattlehead per la segnalazione, per risolvere il problema della chiusura forzata del Lettore Musicale quando si sceglie il Music Square si possono usare due metodi:
questo è il metodo usato da reattlehead:
aprire il file AbsListView.smali in framework2/android/widget/ e inserire le seguenti linee in rosso
codice:
.field mHeight:I
.field private mHoverScrollEnable:Z
.field mIsAttached:Z
Nello stesso file trovare .method public constructor <init>(Landroid/content/Context)V e inserire le seguenti linee in rosso
codice:
.line 3362
new-instance v1, Landroid/widget/AbsListView$1;
invoke-direct {v1, p0}, Landroid/widget/AbsListView$1;-><init>(Landroid/widget/AbsListView;)V
iput-object v1, p0, Landroid/widget/AbsListView;->Inverse:Landroid/os/Handler;
[COLOR="#FF0000"]]
.line 725
iput-boolean v4, p0, Landroid/widget/AbsListView;->mHoverScrollEnable:Z
[/COLOR
.line 774
invoke-direct {p0}, Landroid/widget/AbsListView;->initAbsListView()V
sempre nello stesso file trovare il .method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V e inserire le seguenti linee in rosso
codice:
.line 3362
new-instance v9, Landroid/widget/AbsListView$1;
invoke-direct {v9, p0}, Landroid/widget/AbsListView$1;-><init>(Landroid/widget/AbsListView;)V
iput-object v9, p0, Landroid/widget/AbsListView;->Inverse:Landroid/os/Handler;
const/4 v9, 0x1
iput-boolean v9, p0, Landroid/widget/AbsListView;->mHoverScrollEnable:Z
.line 788
invoke-direct {p0}, Landroid/widget/AbsListView;->initAbsListView()V
ppoi alla fine del file inserire il seguente metodo
codice:
.method public setHoverScrollMode(Z)V
.registers 3
.parameter "flag"
.prologue
.line 3570
if-eqz p1, :cond_6
.line 3571
const/4 v0, 0x1
iput-boolean v0, p0, Landroid/widget/AbsListView;->mHoverScrollEnable:Z
.line 3575
:goto_5
return-void
.line 3573
:cond_6
const/4 v0, 0x0
iput-boolean v0, p0, Landroid/widget/AbsListView;->mHoverScrollEnable:Z
goto :goto_5
.end method
oppure si può usare un' altro modo che è il seguente: decompilare il file MusicPlayer.apk andare in com/sec/android/app/music/ ed aprire il file smali MusicSquareFragmen, poi trovare il metodo .method private ensureSquareView()V ed aggiungere il simbolo # per bypassare le seguenti linee
codice:
.line 1119
#iget-object v3, p0, Lcom/sec/android/app/music/MusicSquareFragment;->mSquareGridView:Landroid/widget/GridView;
#const/4 v4, 0x0
#invoke-virtual {v3, v4}, Landroid/widget/GridView;->setHoverScrollMode(Z)V
Fine