Guida del port della ListView Animation aggiornata
Visualizzazione stampabile
[GUIDA][Mod]Cambiare il colore dei numeri del Dialer e l'immagine del Dialer in tempo reale
testato e funzionante su JB 4.1.2 xms3
Fare un Nandroid Backup prima di effettuare operazioni di modding
Per realizzare questa mod vi serve:
SecSettings.apk
SecContacts.apk
tool per decompilare e compilare come apktool 1.5.2
tool per l'editor di testo come notepad++
Iniziamo con il SecSettings.apk:
Decompilare il SecSettings.apk ,andare in res/xml ,aprire il file display_settings.xml e aggiungere le seguenti linee in rosso
Andare in res/value e aprire il file arrays.xml e aggiungere alla fine le seguenti linee in rossocodice:<CheckBoxPreference android:persistent="false" android:title="@string/display_saving" android:key="power_saving_mode" android:summary="@string/display_saving_mode_summary" />
<CheckBoxPreference android:persistent="false" android:title="@string/notification_pulse_title" android:key="notification_pulse" />
<PreferenceCategory android:title="@string/dialer_options">
<ListPreference android:persistent="false" android:entries="@array/dialer_bg_entries" android:title="@string/dialer_bg_chooser" android:key="dialer_chooser" android:summary="@string/dialer_bg_chooser_summary" android:entryValues="@array/dialer_bg_values" />
<com.loser.colorpicker.ColorPickerPreference android:persistent="false" android:title="@string/dialer_number_title" android:key="dialer_number_color" android:summary="@string/dialer_number_summary" android:defaultValue="0xff000000" alphaSlider="true" />
</PreferenceCategory>
Andare in res/value aprire il file strings.xml e aggiungere alla fine le seguenti linee in rossocodice:
<string-array name="dialer_bg_entries">
<item>Stock Dialer</item>
<item>Anastasia Dialer</item>
<item>BlackGlass Dialer</item>
<item>Chrome Dialer</item>
<item>Orange Dialer</item>
<item>Rainbow Dialer</item>
<item>White Dialer</item>
</string-array>
<string-array name="dialer_bg_values">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
</string-array>
</resources>
Andare in res/value-it aprire il file strings.xml e aggiungere alla fine le seguenti linee in rossocodice:
<string name="dialer_options">Options Dialer</string>
<string name="dialer_bg_chooser">Choose Dialer</string>
<string name="dialer_bg_chooser_summary">Select the background of dialer</string>
<string name="dialer_number_title">Dialer Number Color</string>
<string name="dialer_number_summary">Choose the color of the number in the dialer</string>
</resources>
Andare in smali\com\android\settings e aprire il fileDisplaySettings.smali e aggiungere le seguenti linee in rossocodice:
<string name="dialer_options">Opzioni Dialer</string>
<string name="dialer_bg_chooser">Scegli il Dialer</string>
<string name="dialer_bg_chooser_summary">Seleziona fra sette tipi di dialer</string>
<string name="dialer_number_title">Colora Numeri Dialer</string>
<string name="dialer_number_summary">Scegli il colore dei numeri nel dialer</string>
</resources>
Nello stesso file trovare il metodo .method private updateState()V e aggiungere le seguenti linee in rossocodice:.field protected mContextualPageUncheckerHandler:Landroid/os/Handler;
.field private final mCurConfig:Landroid/content/res/Configuration;
.field private mDialerChooser:Landroid/preference/ListPreference;
.field private mDialerNumberColor:Lcom/loser/colorpicker/ColorPickerPreference;
.field private mDirect:I
.field mDirectUri:Landroid/net/Uri;
Nello stesso file trovare il metodo .method public onCreate(Landroid/os/Bundle)V e aggiungere le seguenti linee in rossocodice:const-string v4, "display_battery_percentage"
invoke-static {v0, v4, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
if-eqz v0, :cond_4
move v0, v1
:goto_1
invoke-virtual {v3, v0}, Landroid/preference/CheckBoxPreference;->setChecked(Z)V
iget-object v0, p0, Lcom/android/settings/DisplaySettings;->mDialerNumberColor:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "dialer_number_color"
const v5, -0xffffff
invoke-static {v3, v4, v5}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v3
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
const/16 v5, 0x0
invoke-virtual {v0, v5, v3}, Lcom/loser/colorpicker/ColorPickerPreference;->onSetInitialValue(ZLjava/lang/Object;)V
nello stesso metodo aggiungere le seguenti linee in rossocodice:.line 424
iget-object v12, p0, Lcom/android/settings/DisplaySettings;->mFontSizePref:Landroid/preference/ListPreference;
invoke-virtual {v12, p0}, Landroid/preference/ListPreference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
const-string v12, "dialer_number_color"
invoke-virtual {p0, v12}, Lcom/android/settings/DisplaySettings;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
move-result-object v12
check-cast v12, Lcom/loser/colorpicker/ColorPickerPreference;
iput-object v12, p0, Lcom/android/settings/DisplaySettings;->mDialerNumberColor:Lcom/loser/colorpicker/ColorPickerPreference;
iget-object v12, p0, Lcom/android/settings/DisplaySettings;->mDialerNumberColor:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {v12, p0}, Lcom/loser/colorpicker/ColorPickerPreference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
cercare .method public onPreferenceChange(Landroid/preference/Preference;Ljava/lang/Object)Z e cercare queste linee e aggiungere quelle in rosso:codice:iput-object v12, p0, Lcom/android/settings/DisplaySettings;->mFontSizePref:Landroid/preference/ListPreference;
.line 424
iget-object v12, p0, Lcom/android/settings/DisplaySettings;->mFontSizePref:Landroid/preference/ListPreference;
invoke-virtual {v12, p0}, Landroid/preference/ListPreference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
const-string v12, "dialer_chooser"
invoke-virtual {p0, v12}, Lcom/android/settings/DisplaySettings;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
move-result-object v12
check-cast v12, Landroid/preference/ListPreference;
iput-object v12, p0, Lcom/android/settings/DisplaySettings;->mDialerChooser:Landroid/preference/ListPreference;
const-string v12, "dialer_chooser"
const/4 v13, 0x0
invoke-static {v8, v12, v13}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v12
iget-object v13, p0, Lcom/android/settings/DisplaySettings;->mDialerChooser:Landroid/preference/ListPreference;
invoke-static {v12}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v12
invoke-virtual {v13, v12}, Landroid/preference/ListPreference;->setValue(Ljava/lang/String;)V
iget-object v13, p0, Lcom/android/settings/DisplaySettings;->mDialerChooser:Landroid/preference/ListPreference;
invoke-virtual {v13, p0}, Landroid/preference/SwitchPreferenceScreen;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
nello stesso metodo e cercare queste linee e aggiungere quelle in rosso in blu qualche spiegazione:codice:const-string v1, "DisplaySettings"
const-string v2, "could not persist Touch key light setting"
invoke-static {v1, v2, v0}, Landroid/util/Log;->secE(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto/16 :goto_4
.line 1068
:cond_a
const-string v2, "dialer_number_color"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_b
invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
const-string v1, "^#"
const-string v3, ""
invoke-virtual {v2, v1, v3}, Ljava/lang/String;->replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v1
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v2
const-string v3, "dialer_number_color"
invoke-static {v2, v3, v1}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto/16 :goto_4
:cond_b
const-string v2, "quick_launch"
segue nel prossimo postcodice:const-string v2, "contextualpage_settings"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_dialer_chooser qui cambiare da cond_2 a cond_dialer_chooser
.line 1089
check-cast p2, Ljava/lang/Boolean;
invoke-virtual {p2}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
if-eqz v0, :cond_e
nello stesso metodo e cercare queste linee e aggiungere quelle in rosso
salvare tutte le modifiche ed uscire.codice:.line 1100
const-string v1, "DisplaySettings"
const-string v3, "CONTEXTUALPAGE_SWITCH_CHANGED changed = false"
invoke-static {v1, v3}, Landroid/util/Log;->secD(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_7
:cond_11
move-wide v0, v4
goto/16 :goto_3
:cond_dialer_chooser
iget-object v1, p0, Lcom/android/settings/DisplaySettings;->mDialerChooser:Landroid/preference/ListPreference;
if-ne p1, v1, :cond_2
check-cast p2, Ljava/lang/String;
invoke-static {p2}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v0
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v1
const-string v2, "dialer_chooser"
invoke-static {v1, v2, v0}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto/16 :goto_4
.end method
Parte con il SecContacts.apk
Decompilare SecContacts.apk ,scaricare questo zip Allegato 119161e mettere tutte le immagini pngs in SecContacts\res\drawable-sw320dp-hdpi
Compilare SecContacts and decompilare il nuovo SecContacts.apk per ottenere i nuovi ids dei nuovi pngs aggiunti
Quindi aprire SystemUI\res\value\public e lasciarlo aperto per controllare i nuovi ids
Andare in SecContacts/smali/com/sec/android/app/dialertab/dialpad e aprire il file DialpadFragment.smali e aggiungere le seguenti linee in rosso
segue nel prossimo postcodice:.field private mAddContactsDialog:Landroid/app/AlertDialog;
.field private mAdditionalButtonBackground:I
.field private mAdditionalButtonBackgroundLand:I
.field private mAudioManager:Landroid/media/AudioManager;
.field private mButtonAnimLeft:Landroid/view/animation/TranslateAnimation;
.
.
.
.field private mDialButtonSim1:Landroid/view/View;
.field private mDialButtonSim2:Landroid/view/View;
.field private mDialerBackground:I
.field private mDialerLandBackground:I
.field private mDialpad:Landroid/view/View;
.field private mDialpadAdditionalButtons:Landroid/view/View;
.
.
.
.field private mNoFavoriteView:Landroid/widget/LinearLayout;
.field private mNumberColor:I
.field private mOneHand:Landroid/view/ViewGroup;
.field private mParserServiceConnection:Landroid/content/ServiceConnection;
alla fine del file aggiungere i seguenti 5 nuovi metodi, in blu qualche spiegazione
segue nel prossimo postcodice:.method set_color_number(Landroid/content/Context;)V
.locals 5
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v1
const-string v2, "dialer_number_color"
const v3, -0x1
invoke-static {v1, v2, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v1
iput v1, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mNumberColor:I
return-void
.end method
.method set_dialer_background(Landroid/content/Context;)V
.locals 5
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v1
const-string v2, "dialer_chooser"
const v3, 0x0
invoke-static {v1, v2, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v1
const v2, 0x1
if-eq v1, v2, :cond_0
const v2, 0x2
if-eq v1, v2, :cond_1
const v2, 0x3
if-eq v1, v2, :cond_2
const v2, 0x4
if-eq v1, v2, :cond_3
const v2, 0x5
if-eq v1, v2, :cond_4
const v2, 0x6
if-eq v1, v2, :cond_5
const v2, 0x7f02039e controllare questo id con dialer_bg_p_01 del vostro res/value/public
goto :goto_0
:cond_0
const v2, 0x7f02064b controllare questo id con anastasia_dialer_bg_p_01 del vostro res/value/public
goto :goto_0
:cond_1
const v2, 0x7f02064c controllare questo id con blackglass_dialer_bg_p_01 del vostro res/value/public
goto :goto_0
:cond_2
const v2, 0x7f02064d controllare questo id con chrome_dialer_bg_p_01 del vostro res/value/public
goto :goto_0
:cond_3
const v2, 0x7f02064a controllare questo id con orange_dialer_bg_p_01 del vostro res/value/public
goto :goto_0
:cond_4
const v2, 0x7f02064e controllare questo id con rainbow_dialer_bg_p_01 del vostro res/value/public
goto :goto_0
:cond_5
const v2, 0x7f02064f controllare questo id con white_dialer_bg_p_01 del vostro res/value/public
:goto_0
iput v2, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialerBackground:I
return-void
.end method
.method set_dialerland_background(Landroid/content/Context;)V
.locals 5
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v1
const-string v2, "dialer_chooser"
const v3, 0x0
invoke-static {v1, v2, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v1
const v2, 0x1
if-eq v1, v2, :cond_0
const v2, 0x2
if-eq v1, v2, :cond_1
const v2, 0x3
if-eq v1, v2, :cond_2
const v2, 0x4
if-eq v1, v2, :cond_3
const v2, 0x5
if-eq v1, v2, :cond_4
const v2, 0x6
if-eq v1, v2, :cond_5
const v2, 0x7f020395 controllare questo id con dialer_bg_h_01 del vostro res/value/public
goto :goto_0
:cond_0
const v2, 0x7f020656 controllare questo id con anastasia_dialer_bg_h_01 del vostro res/value/public
goto :goto_0
:cond_1
const v2, 0x7f020658 controllare questo id con blackglass_dialer_bg_h_01 del vostro res/value/public
goto :goto_0
:cond_2
const v2, 0x7f02065a controllare questo id con chrome_dialer_bg_h_01 del vostro res/value/public
goto :goto_0
:cond_3
const v2, 0x7f02065c controllare questo id con orange_dialer_bg_h_01 del vostro res/value/public
goto :goto_0
:cond_4
const v2, 0x7f02065e controllare questo id con rainbow_dialer_bg_h_01 del vostro res/value/public
goto :goto_0
:cond_5
const v2, 0x7f020660 controllare questo id con white_dialer_bg_h_01 del vostro res/value/public
:goto_0
iput v2, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialerLandBackground:I
return-void
.end method
.method set_additional_button_background(Landroid/content/Context;)V
.locals 5
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v1
const-string v2, "dialer_chooser"
const v3, 0x0
invoke-static {v1, v2, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v1
const v2, 0x1
if-eq v1, v2, :cond_0
const v2, 0x2
if-eq v1, v2, :cond_1
const v2, 0x3
if-eq v1, v2, :cond_2
const v2, 0x4
if-eq v1, v2, :cond_3
const v2, 0x5
if-eq v1, v2, :cond_4
const v2, 0x6
if-eq v1, v2, :cond_5
const v2, 0x7f02039f controllare questo id con dialer_bg_p_02 del vostro res/value/public
goto :goto_0
:cond_0
const v2, 0x7f020650 controllare questo id con anastasia_dialer_bg_p_02 del vostro res/value/public
goto :goto_0
:cond_1
const v2, 0x7f020651 controllare questo id con blackglass_dialer_bg_p_02 del vostro res/value/public
goto :goto_0
:cond_2
const v2, 0x7f020652 controllare questo id con chrome_dialer_bg_p_02 del vostro res/value/public
goto :goto_0
:cond_3
const v2, 0x7f020653 controllare questo id con orange_dialer_bg_p_02 del vostro res/value/public
goto :goto_0
:cond_4
const v2, 0x7f020654 controllare questo id con rainbow_dialer_bg_p_02 del vostro res/value/public
goto :goto_0
:cond_5
const v2, 0x7f020655 controllare questo id con white_dialer_bg_p_02 del vostro res/value/public
:goto_0
iput v2, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mAdditionalButtonBackground:I
return-void
.end method
.method set_additional_button_background_land(Landroid/content/Context;)V
.locals 5
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v1
const-string v2, "dialer_chooser"
const v3, 0x0
invoke-static {v1, v2, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v1
const v2, 0x1
if-eq v1, v2, :cond_0
const v2, 0x2
if-eq v1, v2, :cond_1
const v2, 0x3
if-eq v1, v2, :cond_2
const v2, 0x4
if-eq v1, v2, :cond_3
const v2, 0x5
if-eq v1, v2, :cond_4
const v2, 0x6
if-eq v1, v2, :cond_5
const v2, 0x7f020396 controllare questo id con dialer_bg_h_02 del vostro res/value/public
goto :goto_0
:cond_0
const v2, 0x7f020657 controllare questo id con anastasia_dialer_bg_h_02 del vostro res/value/public
goto :goto_0
:cond_1
const v2, 0x7f020659 controllare questo id con blackglass_dialer_bg_h_02 del vostro res/value/public
goto :goto_0
:cond_2
const v2, 0x7f02065b controllare questo id con chrome_dialer_bg_h_02 del vostro res/value/public
goto :goto_0
:cond_3
const v2, 0x7f02065d controllare questo id con orange_dialer_bg_h_02 del vostro res/value/public
goto :goto_0
:cond_4
const v2, 0x7f02065f controllare questo id con rainbow_dialer_bg_h_02 del vostro res/value/public
goto :goto_0
:cond_5
const v2, 0x7f020661 controllare questo id con white_dialer_bg_h_02 del vostro res/value/public
:goto_0
iput v2, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mAdditionalButtonBackgroundLand:I
return-void
.end method
nello stesso file cercare il metodo setButtonImage(Landroid/view/View;Z)V e aggiungere le seguenti linee in rosso
nello stesso file cercare il metodo setSearchLayout(Lcom/sec/android/app/dialertab/dialpad/DialpadFragment$ContactItem;Ljava/lang/String;I)V modificare locals 10 in locals 11 e aggiungere le seguenti linee in rossocodice:.method private setButtonImage(Landroid/view/View;Z)V
.locals 13
.parameter
.parameter
.prologue
.line 8842
invoke-virtual {p0}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->getActivity()Landroid/app/Activity;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->set_color_number(Landroid/content/Context;)V
invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object v0
nello stesso file cercare il metodo .method private setupKeypad(Landroid/view/View;)V e modificarlo nel modo seguente aggiungendo le linee in rossocodice:.method private setSearchLayout(Lcom/sec/android/app/dialertab/dialpad/DialpadFragment$ContactItem;Ljava/lang/String;I)V
.locals 11
.parameter
.parameter
.parameter
.prologue
.line 5025
invoke-virtual {p0}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->getActivity()Landroid/app/Activity;
move-result-object v6
invoke-virtual {p0, v6}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->set_color_number(Landroid/content/Context;)V
iget-object v7, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mSearchLayout:Landroid/widget/LinearLayout;
attenzione, il metodo continua nel prossimo postcodice:.method private setupKeypad(Landroid/view/View;)V
.locals 11
.parameter
.prologue
const v5, 0x7f0901e2
const v4, 0x7f0901e1
const v3, 0x7f0901e0
const v2, 0x7f0901de
const v1, 0x7f0901dd
.line 1564
const v0, 0x7f0901dc
invoke-virtual {p0}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->getActivity()Landroid/app/Activity;
move-result-object v6
invoke-virtual {p0, v6}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->set_color_number(Landroid/content/Context;)V
invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
.line 1565
invoke-virtual {v0, p0}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
check-cast v0, Landroid/widget/ImageView;
iget v6, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mNumberColor:I
invoke-virtual {v0, v6}, Landroid/widget/ImageView;->setColorFilter(I)V
.line 1566
invoke-virtual {v0, p0}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
.line 1567
invoke-virtual {v0, p0}, Landroid/view/View;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V
.line 1568
invoke-virtual {p1, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
check-cast v0, Landroid/widget/ImageView;
iget v6, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mNumberColor:I
invoke-virtual {v0, v6}, Landroid/widget/ImageView;->setColorFilter(I)V
.line 1569
invoke-virtual {p1, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
.line 1570
invoke-virtual {p1, v1}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V
.line 1571
invoke-virtual {p1, v2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
check-cast v0, Landroid/widget/ImageView;
iget v6, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mNumberColor:I
invoke-virtual {v0, v6}, Landroid/widget/ImageView;->setColorFilter(I)V
.line 1572
invoke-virtual {p1, v2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
.line 1573
invoke-virtual {p1, v2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V
.line 1574
invoke-virtual {p1, v3}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
check-cast v0, Landroid/widget/ImageView;
iget v6, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mNumberColor:I
invoke-virtual {v0, v6}, Landroid/widget/ImageView;->setColorFilter(I)V
.line 1575
invoke-virtual {p1, v3}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
.line 1576
invoke-virtual {p1, v3}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V
.line 1577
invoke-virtual {p1, v4}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
check-cast v0, Landroid/widget/ImageView;
iget v6, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mNumberColor:I
invoke-virtual {v0, v6}, Landroid/widget/ImageView;->setColorFilter(I)V
.line 1578
invoke-virtual {p1, v4}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
.line 1579
invoke-virtual {p1, v4}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V
.line 1580
invoke-virtual {p1, v5}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
check-cast v0, Landroid/widget/ImageView;
iget v6, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mNumberColor:I
invoke-virtual {v0, v6}, Landroid/widget/ImageView;->setColorFilter(I)V
.line 1581
invoke-virtual {p1, v5}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
.line 1582
invoke-virtual {p1, v5}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V
.line 1583
const v0, 0x7f0901e4
invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
check-cast v0, Landroid/widget/ImageView;
iget v6, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mNumberColor:I
invoke-virtual {v0, v6}, Landroid/widget/ImageView;->setColorFilter(I)V
.line 1584
const v0, 0x7f0901e4
invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
.line 1585
const v0, 0x7f0901e4
invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V
.line 1586
const v0, 0x7f0901e5
invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
check-cast v0, Landroid/widget/ImageView;
iget v6, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mNumberColor:I
invoke-virtual {v0, v6}, Landroid/widget/ImageView;->setColorFilter(I)V
.line 1587
const v0, 0x7f0901e5
invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
.line 1588
const v0, 0x7f0901e5
invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V
.line 1589
const v0, 0x7f0901e6
invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
check-cast v0, Landroid/widget/ImageView;
iget v6, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mNumberColor:I
invoke-virtual {v0, v6}, Landroid/widget/ImageView;->setColorFilter(I)V
.line 1590
const v0, 0x7f0901e6
invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
Nello stesso file trovare il .method private showDialpadChooser(Z)V e all'inizio cambiare .locals 5 in .locals 6codice:.line 1591
const v0, 0x7f0901e6
invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V
.line 1592
const v0, 0x7f0901e8
invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
check-cast v0, Landroid/widget/ImageView;
iget v6, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mNumberColor:I
invoke-virtual {v0, v6}, Landroid/widget/ImageView;->setColorFilter(I)V
.line 1593
const v0, 0x7f0901e8
invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
.line 1594
const v0, 0x7f0901e8
invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V
.line 1595
const v0, 0x7f0901ea
invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
check-cast v0, Landroid/widget/ImageView;
iget v6, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mNumberColor:I
invoke-virtual {v0, v6}, Landroid/widget/ImageView;->setColorFilter(I)V
.line 1596
const v0, 0x7f0901ea
invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
.line 1597
const v0, 0x7f0901ea
invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/view/View;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V
.line 1599
const v0, 0x7f0901e9
invoke-virtual {p1, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
.line 1600
invoke-virtual {v0, p0}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V
check-cast v0, Landroid/widget/ImageView;
iget v6, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mNumberColor:I
invoke-virtual {v0, v6}, Landroid/widget/ImageView;->setColorFilter(I)V
.line 1601
invoke-virtual {v0, p0}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
.line 1602
invoke-virtual {v0, p0}, Landroid/view/View;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V
.line 1604
sget-boolean v0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->isSupportHovering:Z
Nello stesso metodo trovare questo codice
e aggiungere le seguenti linee in rossocodice:iget-object v1, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpad:Landroid/view/View;
invoke-virtual {v1, v3}, Landroid/view/View;->setVisibility(I)V
quindi nello stesso metodo trovare questo codicecodice:iget-object v1, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpad:Landroid/view/View;
invoke-virtual {v1, v3}, Landroid/view/View;->setVisibility(I)V
iget-object v1, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpad:Landroid/view/View;
invoke-virtual {p0}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->getActivity()Landroid/app/Activity;
move-result-object v5
invoke-virtual {p0, v5}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->set_dialer_background(Landroid/content/Context;)V
iget v5, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialerBackground:I
invoke-virtual {v1, v5}, Landroid/view/View;->setBackgroundResource(I)V
e aggiungere le seguenti linee in rossocodice:iget-object v1, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpadLand:Landroid/view/View;
invoke-virtual {v1, v3}, Landroid/view/View;->setVisibility(I)V
segue nel prossimo postcodice:iget-object v1, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpadLand:Landroid/view/View;
invoke-virtual {v1, v3}, Landroid/view/View;->setVisibility(I)V
iget-object v1, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpadLand:Landroid/view/View;
invoke-virtual {p0}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->getActivity()Landroid/app/Activity;
move-result-object v5
invoke-virtual {p0, v5}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->set_dialerland_background(Landroid/content/Context;)V
iget v5, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialerLandBackground:I
invoke-virtual {v1, v5}, Landroid/view/View;->setBackgroundResource(I)V
nello stesso metodo trovare questo codice
fate attenzione il codice si presenta 2 volte all'interno del metodo e tutte e 2 le volte aggiungere le seguenti linee in rossocodice:iget-object v0, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpadAdditionalButtons:Landroid/view/View;
invoke-virtual {v0, v3}, Landroid/view/View;->setVisibility(I)V
nello stesso metodo trovare questo codicecodice:iget-object v0, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpadAdditionalButtons:Landroid/view/View;
invoke-virtual {v0, v3}, Landroid/view/View;->setVisibility(I)V
iget-object v0, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpadAdditionalButtons:Landroid/view/View;
invoke-virtual {p0}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->getActivity()Landroid/app/Activity;
move-result-object v5
invoke-virtual {p0, v5}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->set_additional_button_background(Landroid/content/Context;)V
iget v5, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mAdditionalButtonBackground:I
invoke-virtual {v0, v5}, Landroid/view/View;->setBackgroundResource(I)V
fate attenzione il codice si presenta 2 volte all'interno del metodo e tutte e 2 le volte aggiungere le seguenti linee in rossocodice:iget-object v0, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpadAdditionalButtonsLand:Landroid/view/View;
invoke-virtual {v0, v3}, Landroid/view/View;->setVisibility(I)V
Quindi trovare il metodo .method public resetAllLayout()V e all'inizio cambiare .locals 12 in .locals 13codice:iget-object v0, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpadAdditionalButtonsLand:Landroid/view/View;
invoke-virtual {v0, v3}, Landroid/view/View;->setVisibility(I)V
iget-object v0, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpadAdditionalButtonsLand:Landroid/view/View;
invoke-virtual {p0}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->getActivity()Landroid/app/Activity;
move-result-object v5
invoke-virtual {p0, v5}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->set_additional_button_background_land(Landroid/content/Context;)V
iget v5, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mAdditionalButtonBackgroundLand:I
invoke-virtual {v0, v5}, Landroid/view/View;->setBackgroundResource(I)V
nel metodo trovare il seguente codice
nel metodo trovare il seguente codicecodice:.line 1029
const-string v2, "feature_without_vm_icon"
invoke-static {v2}, Lcom/sec/android/app/dialertab/DialerLogsFeature;->hasFeature(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_1e
invoke-virtual {p0}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->getActivity()Landroid/app/Activity;
move-result-object v2
invoke-virtual {p0, v2}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->set_color_number(Landroid/content/Context;)V
.line 1030
const v2, 0x7f020212
invoke-virtual {v0, v2}, Landroid/widget/ImageButton;->setImageResource(I)V
goto/16 :goto_2
fatte attenzione, all' interno del metodo il precedente codice è presente più volte, e alcuni hanno v8 invece di v7, dovete trovare tutte le volte che si presenta e aggiungere ogni volta il seguente codicecodice:iget-object v0, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpad:Landroid/view/View;
invoke-virtual {v0, v7}, Landroid/view/View;->setVisibility(I)V
nel metodo trovare il seguente codicecodice:iget-object v0, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpad:Landroid/view/View;
invoke-virtual {v0, v7}, Landroid/view/View;->setVisibility(I)V
iget-object v0, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpad:Landroid/view/View;
invoke-virtual {p0}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->getActivity()Landroid/app/Activity;
move-result-object v12
invoke-virtual {p0, v12}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->set_dialer_background(Landroid/content/Context;)V
iget v12, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialerBackground:I
invoke-virtual {v0, v12}, Landroid/view/View;->setBackgroundResource(I)V
fatte attenzione, all' interno del metodo il precedente codice è presente più volte, e alcuni hanno v8 invece di v7, dovete trovare tutte le volte che si presenta e aggiungere ogni volta il seguente codicecodice:iget-object v0, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpadLand:Landroid/view/View;
invoke-virtual {v0, v7}, Landroid/view/View;->setVisibility(I)V
nel metodo trovare il seguente codicecodice:iget-object v0, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpadLand:Landroid/view/View;
invoke-virtual {v0, v7}, Landroid/view/View;->setVisibility(I)V
iget-object v0, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpadLand:Landroid/view/View;
invoke-virtual {p0}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->getActivity()Landroid/app/Activity;
move-result-object v12
invoke-virtual {p0, v12}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->set_dialerland_background(Landroid/content/Context;)V
iget v12, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialerLandBackground:I
invoke-virtual {v0, v12}, Landroid/view/View;->setBackgroundResource(I)V
fatte attenzione, all' interno del metodo il precedente codice è presente più volte, e alcuni hanno v8 invece di v7, dovete trovare tutte le volte che si presenta e aggiungere ogni volta il seguente codicecodice:iget-object v0, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpadAdditionalButtons:Landroid/view/View;
invoke-virtual {v0, v7}, Landroid/view/View;->setVisibility(I)V
nel metodo trovare il seguente codicecodice:iget-object v0, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpadAdditionalButtons:Landroid/view/View;
invoke-virtual {v0, v7}, Landroid/view/View;->setVisibility(I)V
iget-object v0, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpadAdditionalButtons:Landroid/view/View;
invoke-virtual {p0}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->getActivity()Landroid/app/Activity;
move-result-object v12
invoke-virtual {p0, v12}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->set_additional_button_background(Landroid/content/Context;)V
iget v12, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mAdditionalButtonBackground:I
invoke-virtual {v0, v12}, Landroid/view/View;->setBackgroundResource(I)V
fatte attenzione, all' interno del metodo il precedente codice è presente più volte, e alcuni hanno v8 invece di v7, dovete trovare tutte le volte che si presenta e aggiungere ogni volta il seguente codicecodice:iget-object v0, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpadAdditionalButtonsLand:Landroid/view/View;
invoke-virtual {v0, v7}, Landroid/view/View;->setVisibility(I)V
Salvare tutte le modifiche e compilare il SecContacts, mettere il SecSettings.apk e il SecContacts.apk nel vostro dispositivo.codice:iget-object v0, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpadAdditionalButtonsLand:Landroid/view/View;
invoke-virtual {v0, v7}, Landroid/view/View;->setVisibility(I)V
iget-object v0, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mDialpadAdditionalButtonsLand:Landroid/view/View;
invoke-virtual {p0}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->getActivity()Landroid/app/Activity;
move-result-object v12
invoke-virtual {p0, v12}, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->set_additional_button_background_land(Landroid/content/Context;)V
iget v12, p0, Lcom/sec/android/app/dialertab/dialpad/DialpadFragment;->mAdditionalButtonBackgroundLand:I
invoke-virtual {v0, v12}, Landroid/view/View;->setBackgroundResource(I)V
Ciao nicola sto imparando da poco http://tapatalk.imageshack.com/v2/14...de06e128fd.jpg problema di id? O qualche altro errore gli id li controllati prima e li ho cambiati perche non si trovavono poi li ho ricontrollati e mi sembra che si trovino li ho cambiati nel metodo che non si trovavano con i pubblici fatto 4 -5 volte solito errore poi non va nemmeno i colori numeri dove sbaglio? Ciauzz ah lo fa con tutti i dialer
Edit cosa strana di suo http://tapatalk.imageshack.com/v2/14...8641528cbd.jpg poi non cambiava piu cioe cambiava solo il pezzo di sotto poi ho fatto una chiusura forzata del dialer ed tornato come prima cioe cambia solo il pezzo di sotto
https://www.mediafire.com/folder/8j28a91vj8mh6/x_nicola secondo me puo darsi che qualche riga forse lo saltata nel ultimo metodo quello che si ripete un sacco di volte
Edit la gia ho sbagliato lo messo una sola volta