gino66 (31-07-14),Ma551m0 (31-07-14),rattlehead (01-09-14),willy666 (31-07-14)
[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
Ultima modifica di nicola78; 30-08-14 alle 10:04
pedroleon99 (01-09-14)
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 Dialer_Background.zipe 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;
Ultima modifica di nicola78; 22-08-14 alle 12:58
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
Ultima modifica di nicola78; 22-08-14 alle 12:59
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/ViewV 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
Ultima modifica di nicola78; 25-08-14 alle 22:59
rattlehead (23-08-14)
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
Ultima modifica di nicola78; 25-08-14 alle 23:06
gino66 (25-08-14),rattlehead (23-08-14)
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
Ultima modifica di nicola78; 29-08-14 alle 17:48
gino66 (24-08-14),Ma551m0 (24-08-14),rattlehead (23-08-14)
Ciao nicola sto imparando da poco 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 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
Ultima modifica di gino66; 25-08-14 alle 18:51
s7 edge tematissimo gino66
nicola78 (25-08-14),rattlehead (26-08-14)
Ultima modifica di nicola78; 25-08-14 alle 21:30
gino66 (25-08-14)
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
Ultima modifica di gino66; 25-08-14 alle 21:52
s7 edge tematissimo gino66