Visualizzazione stampabile
Quote:
Originariamente inviato da
nicola78
Hai ancora i file su cu hai fatto le modifiche ? cosi se le posti le controllo
Poi se riusciamo a risolvere passiamo alla listview animation
Ciao Nicola, ti chiedo per l'ennesima volta perdono se sono cosi insistente.... ma per mia natura sono un tipo che le cose le voglio capire e non voglio farle tanto per farle.
Per quanto riguarda i file che mi cerchi la risposta è no, non li ho piu..... per il nervosismo li ho eliminati dal pc ma non è un problema in quanto posso rifarli e postarli.
Appena riesco li faccio e li posto, grazie ancora....
Domanda: utilizzo i file della YSF o quelli vergini della rom che ho deodexato io? Dimmi tu......
Quote:
Originariamente inviato da
stopgian74
Ciao Nicola, ti chiedo per l'ennesima volta perdono se sono cosi insistente.... ma per mia natura sono un tipo che le cose le voglio capire e non voglio farle tanto per farle.
Per quanto riguarda i file che mi cerchi la risposta è no, non li ho piu..... per il nervosismo li ho eliminati dal pc ma non è un problema in quanto posso rifarli e postarli.
Appena riesco li faccio e li posto, grazie ancora....
Domanda: utilizzo i file della YSF o quelli vergini della rom che ho deodexato io? Dimmi tu......
Si ti capisco, mah, per me è indifferente , visto che la vuoi implementare nella YSF rom , utilizza i suoi file
Quote:
Originariamente inviato da
nicola78
Si ti capisco, mah, per me è indifferente , visto che la vuoi implementare nella YSF rom , utilizza i suoi file
Ciao nicola, di seguito il link dove puoi scaricare il secsetting e il systemUI decompilati e gia implementati con la mod del cambio sfondo tendina in tempo reale.
Ti ripeto il problema che riscontro.... il device funziona correttamente, nel menu impostazioni mi appare il toggle della modifica, pigiandoci su mi da le opzioni di scelta delle tendine inserite, solo che quando ne seleziono una la tendina non cambia, resta sempre quella iniziale.
https://drive.google.com/file/d/0B0j...ew?usp=sharing
Quote:
Originariamente inviato da
stopgian74
Ciao nicola, di seguito il link dove puoi scaricare il secsetting e il systemUI decompilati e gia implementati con la mod del cambio sfondo tendina in tempo reale.
Ti ripeto il problema che riscontro.... il device funziona correttamente, nel menu impostazioni mi appare il toggle della modifica, pigiandoci su mi da le opzioni di scelta delle tendine inserite, solo che quando ne seleziono una la tendina non cambia, resta sempre quella iniziale.
https://drive.google.com/file/d/0B0j...ew?usp=sharing
Ciao stopgian74, allora il problema stà nel SecSettings e precisamente nel file smali DisplaySettings, nel metodo .method public onPreferenceChange(Landroid/preference/Preference;Ljava/lang/Object;)Z tu hai il codice della guida e il codice che implementa la mod per le icone della batteria
codice:
:cond_notification_panel_bg
iget-object v1, p0, Lcom/android/settings/DisplaySettings;->mNotificationPanelBackground: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, "notification_panel_bg_chooser"
invoke-static {v1, v2, v0}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto/16 :goto_4
:cond_19
iget-object v1, p0, Lcom/android/settings/DisplaySettings;->mBatteryStyle: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, "battery_icon_list"
invoke-static {v1, v2, v0}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto/16 :goto_4
nel codice che riguarda la guida devi cambiare il :cond_2 in :cond_19 , una spiegazione del perchè la puoi trovare qui https://www.androidiani.com/forum/mo...ml#post6030616
prova a fare questa modifica e fammi sapere come va
Quote:
Originariamente inviato da
nicola78
Ciao stopgian74, allora il problema stà nel SecSettings e precisamente nel file smali DisplaySettings..........
codice:
:cond_notification_panel_bg
iget-object v1, p0, Lcom/android/settings/DisplaySettings;->mNotificationPanelBackground:Landroid/preference/ListPreference;
if-ne p1, v1, :cond_2 <---- questo :cond_2 lo cambio in :cond_19....... GIUSTO??????
check-cast p2, Ljava/lang/String;
Mille grazie, provo e faccio sapere.
Datemi solo conferma che il :cond_2 da modificare è quello che ho indicato sopra.
Quote:
Originariamente inviato da
stopgian74
codice:
:cond_notification_panel_bg
iget-object v1, p0, Lcom/android/settings/DisplaySettings;->mNotificationPanelBackground:Landroid/preference/ListPreference;
if-ne p1, v1, :cond_2 <---- questo :cond_2 lo cambio in :cond_19....... GIUSTO??????
check-cast p2, Ljava/lang/String;
Mille grazie, provo e faccio sapere.
Datemi solo conferma che il :cond_2 da modificare è quello che ho indicato sopra.
si è quello
Quote:
Originariamente inviato da
nicola78
si è quello
Niente da fare.... non va.
Il risultato è sempre uguale a prima.
Quote:
Originariamente inviato da
stopgian74
Niente da fare.... non va.
Il risultato è sempre uguale a prima.
Ok ho controllato meglio e ho visto che i tuoi file implementano una mod per far cambiare il colore del pannello delle notifiche, ora questa ,se non si aggiunge una mod per attivarla e disattivarla, prende il sopravvento sulla mod della guida.Quindi come dicevo prima per avere tutte e due le mod dovresti aggiungere,con una mod, la possibilità di abilitare e disabilitare la scelta del colore del pannello delle notifiche, perchè le due mod vanno ad interagire sullo stesso sfondo.
Un momento......avevi detto che non funzionava anche su file vergini,giusto? hai la possibilità di passarmi anche quelli?
Edit:ho fatto dei test con i tuoi file e posso confermare che funziona tutto. Ora per farlo funzionare anche con te hai due possibilità:la prima è quella che ho descritto prima, la seconda è quella che ho usato per fare i test con i tuoi file e cioè dovresti bypassare il codice che implementa la mod per cambiare il colore del pannello delle notifiche perdendo così la sua funzionalità
Quote:
Originariamente inviato da
nicola78
Ok ho controllato meglio e ho visto che i tuoi file implementano una mod per far cambiare il colore del pannello delle notifiche, ora questa ,se non si aggiunge una mod per attivarla e disattivarla, prende il sopravvento sulla mod della guida.Quindi come dicevo prima per avere tutte e due le mod dovresti aggiungere,con una mod, la possibilità di abilitare e disabilitare la scelta del colore del pannello delle notifiche, perchè le due mod vanno ad interagire sullo stesso sfondo.
Un momento......avevi detto che non funzionava anche su file vergini,giusto? hai la possibilità di passarmi anche quelli?
I file vergini li ho, e stamattina facendo un raffronto con guida e con quelli della mod mi sono accorto che molto probabilmente sui file vergini ho commesso un errore..... riprovo a rifarla e ti faccio sapere. Per quel che riguarda la YSF la mod del cambio colore della pannello delle notifiche ti confermo che è presente.
Edit: sulla YSF posso risolvere eliminando la mod del cambio colore restando solo quella della guida?
Quote:
Originariamente inviato da
stopgian74
I file vergini li ho, e stamattina facendo un raffronto con guida e con quelli della mod mi sono accorto che molto probabilmente sui file vergini ho commesso un errore..... riprovo a rifarla e ti faccio sapere. Per quel che riguarda la YSF la mod del cambio colore della pannello delle notifiche ti confermo che è presente.
Edit: sulla YSF posso risolvere eliminando la mod del cambio colore restando solo quella della guida?
Ho editato il mio post precedente ,si la puoi eliminare
Quote:
Originariamente inviato da
nicola78
Ho editato il mio post precedente ,si la puoi eliminare
quindi per bypassare qual'è il procedimento da usare?
Quote:
Originariamente inviato da
stopgian74
quindi per bypassare qual'è il procedimento da usare?
Basta aggiungere il sinmbolo # davanti a tutte le linee che roguardano la mod sia nel systemui e sia nel SecSettings, es:
#iget-object etc etc
#invoke-virtual etc etc
In questo modo non elimini fisicamente le linee ma le bypassi qualora le volessi ripristinare
Quote:
Originariamente inviato da
nicola78
Basta aggiungere il sinmbolo # davanti a tutte le linee che roguardano la mod sia nel systemui e sia nel SecSettings, es:
#iget-object etc etc
#invoke-virtual etc etc
In questo modo non elimini fisicamente le linee ma le bypassi qualora le volessi ripristinare
Ok grazie.
Fatta la mod sui file vergini e confermo che funziona, chiedo scusa ma avevo commesso io un errore.... avevo copiato un codice in un metodo errato.
Ultima domanda e poi non rompo piu, quindi in teoria se cerco di implementare la YSF (o qualsiasi rom gia implementata con altre mod) con qualsiasi altra mod incontrero sempre questo tipo di problema in quanto i file non sono vergini..... giusto? quindi mi servirebbe avere una conoscenza di base su codici e come funzionano.... giusto?
Se cio è vero, mi sapresti indirizzare a qualche link dove poter imparare tutto cio?????
Ti ringrazio per l'ennesima volta della gentilezza e della disponibilità dimostrata.
Grazie.
Quote:
Originariamente inviato da
stopgian74
Ok grazie.
Fatta la mod sui file vergini e confermo che funziona, chiedo scusa ma avevo commesso io un errore.... avevo copiato un codice in un metodo errato.
Ultima domanda e poi non rompo piu, quindi in teoria se cerco di implementare la YSF (o qualsiasi rom gia implementata con altre mod) con qualsiasi altra mod incontrero sempre questo tipo di problema in quanto i file non sono vergini..... giusto? quindi mi servirebbe avere una conoscenza di base su codici e come funzionano.... giusto?
Se cio è vero, mi sapresti indirizzare a qualche link dove poter imparare tutto cio?????
Ti ringrazio per l'ennesima volta della gentilezza e della disponibilità dimostrata.
Grazie.
Se te la cavi con l'inglese qui è da dove ho inizioto iohttp://forum.xda-developers.com/show....php?t=2488033
Quote:
Originariamente inviato da
nicola78
Mille grazie..... ci provo :)
@nicola78 sono riuscito a risolvere con il colore delle icone...mi ero scordato che tra un test e l'altro avevo modificato l'observer :p:o
E il cambio è istantaneo.
grazie per il supporto! ;):cool:
Due screen...
https://www.dropbox.com/s/8knk6cdah1...21-07.png?dl=0
https://www.dropbox.com/s/9rq2nm0ryc...36-56.png?dl=0
GUIDA: Completare la tematura dei toggles in tempo reale.
Questa guida completa quello già fatto dal maestro @nicola78
http://i62.tinypic.com/2gxqioh.png
Quindi seguite questa guida e completatela con quella che segue! ;)
Non aggiungerò quindi commenti già presenti sull'altra guida.
Partiamo col SecSettings.apk
display_settings.xml
codice:
<com.loser.colorpicker.ColorPickerPreference android:persistent="false" android:title="@string/statusbar_toggles_title" android:key="toggles_color" android:summary="@string/statusbar_toggles_color_summary" android:defaultValue="0xffffffff" alphaSlider="true" />
<com.loser.colorpicker.ColorPickerPreference android:persistent="false" android:title="@string/statusbar_toggles_off_title" android:key="toggles_color_off" android:summary="@string/statusbar_toggles_color_off_summary" android:defaultValue="0xffffffff" alphaSlider="true" />
<com.loser.colorpicker.ColorPickerPreference android:persistent="false" android:title="@string/statusbar_toggles_btn_on_title" android:key="toggles_color_btn_on" android:summary="@string/statusbar_toggles_color_btn_on_summary" android:defaultValue="0xffffffff" alphaSlider="true" />
<com.loser.colorpicker.ColorPickerPreference android:persistent="false" android:title="@string/statusbar_toggles_btn_off_title" android:key="toggles_color_btn_off" android:summary="@string/statusbar_toggles_color_btn_off_summary" android:defaultValue="0xffffffff" alphaSlider="true" />
string.xml
codice:
<string name="statusbar_toggles_title">Colora Toggles On</string>
<string name="statusbar_toggles_color_summary">Scegli il colore dei toggles quando attivati</string>
<string name="statusbar_toggles_off_title">Colora Toggles Off</string>
<string name="statusbar_toggles_color_off_summary">Scegli il colore dei toggles quando disattivati</string>
<string name="statusbar_toggles_btn_on_title">Colora Led On</string>
<string name="statusbar_toggles_color_btn_on_summary">Scegli il colore del led dei toggles quando attivati</string>
<string name="statusbar_toggles_btn_off_title">Colora Led Off</string>
<string name="statusbar_toggles_color_btn_off_summary">Scegli il colore del led dei toggles quando disattivati</string>
DisplaySettings.smali
codice:
.field private mTogglesColors:Lcom/loser/colorpicker/ColorPickerPreference;
.field private mTogglesColors_off:Lcom/loser/colorpicker/ColorPickerPreference;
.field private mTogglesColors_btn_on:Lcom/loser/colorpicker/ColorPickerPreference;
.field private mTogglesColors_btn_off:Lcom/loser/colorpicker/ColorPickerPreference;
Metodo UpdateState();
codice:
iget-object v0, p0, Lcom/android/settings/DisplaySettings;->mTogglesColors:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "toggles_color"
const v5, -0x1
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
iget-object v0, p0, Lcom/android/settings/DisplaySettings;->mTogglesColorsOff:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "toggles_color_off"
const v5, -0x1
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
iget-object v0, p0, Lcom/android/settings/DisplaySettings;->mTogglesColorsLed:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "toggles_color_btn_on"
const v5, -0x1
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
iget-object v0, p0, Lcom/android/settings/DisplaySettings;->mTogglesColorsLedOff:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "toggles_color_btn_off"
const v5, -0x1
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
Metodo onCreate(Landroid/os/Bundle;)V
codice:
const-string v12, "toggles_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;->mTogglesColors:Lcom/loser/colorpicker/ColorPickerPreference;
iget-object v12, p0, Lcom/android/settings/DisplaySettings;->mTogglesColors:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {v12, p0}, Lcom/loser/colorpicker/ColorPickerPreference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
const-string v12, "toggles_color_off"
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;->mTogglesColorsOff:Lcom/loser/colorpicker/ColorPickerPreference;
iget-object v12, p0, Lcom/android/settings/DisplaySettings;->mTogglesColorsOff:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {v12, p0}, Lcom/loser/colorpicker/ColorPickerPreference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
const-string v12, "toggles_color_btn_on"
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;->mTogglesColorsLed:Lcom/loser/colorpicker/ColorPickerPreference;
iget-object v12, p0, Lcom/android/settings/DisplaySettings;->mTogglesColorsLed:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {v12, p0}, Lcom/loser/colorpicker/ColorPickerPreference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
const-string v12, "toggles_color_btn_off"
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;->mTogglesColorsLedOff:Lcom/loser/colorpicker/ColorPickerPreference;
iget-object v12, p0, Lcom/android/settings/DisplaySettings;->mTogglesColorsLedOff:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {v12, p0}, Lcom/loser/colorpicker/ColorPickerPreference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
Segue....
Metodo onPreferenceChange(Landroid/preference/Preference;Ljava/lang/Object;)Z
codice:
const-string v2, "toggles_color"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_tog1
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, "toggles_color"
invoke-static {v2, v3, v1}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto/16 :goto_4
:cond_tog1
const-string v2, "toggles_color_off"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_tog2
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, "toggles_color_off"
invoke-static {v2, v3, v1}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto/16 :goto_4
:cond_tog2
const-string v2, "toggles_color_btn_on"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_tog3
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, "toggles_color_btn_on"
invoke-static {v2, v3, v1}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto/16 :goto_4
:cond_tog3
const-string v2, "toggles_color_btn_off"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_tog4
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, "toggles_color_btn_off"
invoke-static {v2, v3, v1}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto/16 :goto_4
:cond_tog4
Segue...
SystemUI.apk
policy/quicksetting/QuickSettingButton.smali
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;IIIIII)V
codice:
.locals 4 cambiarlo in-> .locals 7
.method public setActivateStatus(I)V cercate il codice in blue e aggiungete quello in rosso
codice:
.line 131
:pswitch_0
iget-object v0, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnImage:Landroid/widget/ImageView;
iget v1, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mOnIconID:I
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setImageResource(I)V
iget-object v5, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnImage:Landroid/widget/ImageView;
invoke-virtual {v5}, Landroid/widget/ImageView;->getContext()Landroid/content/Context;
move-result-object v5
invoke-virtual {v5}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v5
const-string v6, "toggles_color"
const v1, -0x100
invoke-static {v5, v6, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v5
invoke-virtual {v0, v5}, Landroid/widget/ImageView;->setColorFilter(I)V
.line 132
iget-object v0, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnLED:Landroid/widget/ImageView;
invoke-virtual {v0, v2}, Landroid/widget/ImageView;->setImageResource(I)V
iget-object v5, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnLED:Landroid/widget/ImageView;
invoke-virtual {v5}, Landroid/widget/ImageView;->getContext()Landroid/content/Context;
move-result-object v5
invoke-virtual {v5}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v5
const-string v6, "toggles_color_btn_on"
const v1, -0x100
invoke-static {v5, v6, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v5
invoke-virtual {v0, v5}, Landroid/widget/ImageView;->setColorFilter(I)V
.line 133
iget-object v0, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnLED:Landroid/widget/ImageView;
const-string v1, "On\n"
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setContentDescription(Ljava/lang/CharSequence;)V
.line 134
const-string v0, "STATUSBAR-QuickSettingButton"
const-string v1, "Button ON"
invoke-static {v0, v1}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_1
.line 137
:pswitch_1
iget-object v0, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnImage:Landroid/widget/ImageView;
iget v1, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mOnIconID2:I
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setImageResource(I)V
iget-object v5, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnImage:Landroid/widget/ImageView;
invoke-virtual {v5}, Landroid/widget/ImageView;->getContext()Landroid/content/Context;
move-result-object v5
invoke-virtual {v5}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v5
const-string v6, "toggles_color"
const v1, -0x100
invoke-static {v5, v6, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v5
invoke-virtual {v0, v5}, Landroid/widget/ImageView;->setColorFilter(I)V
.line 138
iget-object v0, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnLED:Landroid/widget/ImageView;
invoke-virtual {v0, v2}, Landroid/widget/ImageView;->setImageResource(I)V
iget-object v5, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnLED:Landroid/widget/ImageView;
invoke-virtual {v5}, Landroid/widget/ImageView;->getContext()Landroid/content/Context;
move-result-object v5
invoke-virtual {v5}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v5
const-string v6, "toggles_color_btn_off"
const v1, -0x100
invoke-static {v5, v6, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v5
invoke-virtual {v0, v5}, Landroid/widget/ImageView;->setColorFilter(I)V
.line 139
iget-object v0, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnLED:Landroid/widget/ImageView;
..........
.line 149
:pswitch_3
iget-object v0, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnImage:Landroid/widget/ImageView;
iget v1, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mOffIconID:I
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setImageResource(I)V
iget-object v5, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnImage:Landroid/widget/ImageView;
invoke-virtual {v5}, Landroid/widget/ImageView;->getContext()Landroid/content/Context;
move-result-object v5
invoke-virtual {v5}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v5
const-string v6, "toggles_color_off"
const v1, -0x100
invoke-static {v5, v6, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v5
invoke-virtual {v0, v5}, Landroid/widget/ImageView;->setColorFilter(I)V
.line 150
iget-object v0, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnLED:Landroid/widget/ImageView;
invoke-virtual {v0, v3}, Landroid/widget/ImageView;->setImageResource(I)V
iget-object v5, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnLED:Landroid/widget/ImageView;
invoke-virtual {v5}, Landroid/widget/ImageView;->getContext()Landroid/content/Context;
move-result-object v5
invoke-virtual {v5}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v5
const-string v6, "toggles_color_btn_off"
const v1, -0x100
invoke-static {v5, v6, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v5
invoke-virtual {v0, v5}, Landroid/widget/ImageView;->setColorFilter(I)V
.line 151
iget-object v0, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnLED:Landroid/widget/ImageView;
const-string v1, "Off\n"
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setContentDescription(Ljava/lang/CharSequence;)V
.line 152
const-string v0, "STATUSBAR-QuickSettingButton"
const-string v1, "Button OFF"
invoke-static {v0, v1}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
goto/16 :goto_1
.line 155
:pswitch_4
iget-object v0, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnImage:Landroid/widget/ImageView;
iget v1, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mOffIconID2:I
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setImageResource(I)V
iget-object v5, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnImage:Landroid/widget/ImageView;
invoke-virtual {v5}, Landroid/widget/ImageView;->getContext()Landroid/content/Context;
move-result-object v5
invoke-virtual {v5}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v5
const-string v6, "toggles_color_off"
const v1, -0x100
invoke-static {v5, v6, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v5
invoke-virtual {v0, v5}, Landroid/widget/ImageView;->setColorFilter(I)V
.line 156
sget-boolean v0, Lcom/android/systemui/statusbar/BaseStatusBar;->useSoundProfile:Z
......
.line 159
:cond_1
iget-object v0, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnLED:Landroid/widget/ImageView;
invoke-virtual {v0, v3}, Landroid/widget/ImageView;->setImageResource(I)V
iget-object v5, p0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;->mBtnLED:Landroid/widget/ImageView;
invoke-virtual {v5}, Landroid/widget/ImageView;->getContext()Landroid/content/Context;
move-result-object v5
invoke-virtual {v5}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v5
const-string v6, "toggles_color_btn_off"
const v1, -0x100
invoke-static {v5, v6, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v5
invoke-virtual {v0, v5}, Landroid/widget/ImageView;->setColorFilter(I)V
goto :goto_2
Segue....
policy/quicksetting/QuickSettingPanel.smali
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
codice:
invoke-direct {p0, v0}, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel;->regObserver2(Landroid/content/ContentResolver;)V
invoke-direct {p0, v0}, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel;->regObserver3(Landroid/content/ContentResolver;)V
invoke-direct {p0, v0}, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel;->regObserver4(Landroid/content/ContentResolver;)V
invoke-direct {p0, v0}, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel;->regObserver5(Landroid/content/ContentResolver;)V
invoke-direct {p0, v0}, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel;->regObserver6(Landroid/content/ContentResolver;)V
Aggiungete i seguenti metodi.
codice:
.method private regObserver2(Landroid/content/ContentResolver;)V
.locals 3
.parameter "cs"
.prologue
const/4 v2, 0x0
new-instance v0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel2$SettingsObserver;
new-instance v1, Landroid/os/Handler;
invoke-direct {v1}, Landroid/os/Handler;-><init>()V
invoke-direct {v0, p0, p0, v1}, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel2$SettingsObserver;-><init>(Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel;Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel;Landroid/os/Handler;)V
.local v0, ob:Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel2$SettingsObserver;
const-string v1, "toggles_chooser"
invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {p1, v1, v2, v0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
return-void
.end method
.method private regObserver3(Landroid/content/ContentResolver;)V
.locals 3
.parameter "cs"
.prologue
const/4 v2, 0x0
new-instance v0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel3$SettingsObserver;
new-instance v1, Landroid/os/Handler;
invoke-direct {v1}, Landroid/os/Handler;-><init>()V
invoke-direct {v0, p0, p0, v1}, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel3$SettingsObserver;-><init>(Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel;Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel;Landroid/os/Handler;)V
.local v0, ob:Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel3$SettingsObserver;
const-string v1, "toggles_bg_color"
invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {p1, v1, v2, v0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
return-void
.end method
.method private regObserver4(Landroid/content/ContentResolver;)V
.locals 3
.parameter "cs"
.prologue
const/4 v2, 0x0
new-instance v0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel4$SettingsObserver;
new-instance v1, Landroid/os/Handler;
invoke-direct {v1}, Landroid/os/Handler;-><init>()V
invoke-direct {v0, p0, p0, v1}, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel4$SettingsObserver;-><init>(Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel;Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel;Landroid/os/Handler;)V
.local v0, ob:Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel4$SettingsObserver;
const-string v1, "toggles_color_off"
invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {p1, v1, v2, v0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
return-void
.end method
.method private regObserver5(Landroid/content/ContentResolver;)V
.locals 3
.parameter "cs"
.prologue
const/4 v2, 0x0
new-instance v0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel5$SettingsObserver;
new-instance v1, Landroid/os/Handler;
invoke-direct {v1}, Landroid/os/Handler;-><init>()V
invoke-direct {v0, p0, p0, v1}, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel5$SettingsObserver;-><init>(Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel;Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel;Landroid/os/Handler;)V
.local v0, ob:Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel5$SettingsObserver;
const-string v1, "toggles_color_btn_on"
invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {p1, v1, v2, v0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
return-void
.end method
.method private regObserver6(Landroid/content/ContentResolver;)V
.locals 3
.parameter "cs"
.prologue
const/4 v2, 0x0
new-instance v0, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel6$SettingsObserver;
new-instance v1, Landroid/os/Handler;
invoke-direct {v1}, Landroid/os/Handler;-><init>()V
invoke-direct {v0, p0, p0, v1}, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel6$SettingsObserver;-><init>(Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel;Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel;Landroid/os/Handler;)V
.local v0, ob:Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingPanel6$SettingsObserver;
const-string v1, "toggles_color_btn_off"
invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {p1, v1, v2, v0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
return-void
.end method
Scaricate gli observer.smali da qui ed aggiungetela nella cartella android/systemui/statusbar/policy/quicksetting.
Ricompilate i file ed inseriteli nel device!!
Nicola, ho avuto qualche problema con la lidroid. So che tu non la usi, ma vedi, come hai tempo e voglia, se riesci a darmi qualche suggerimento.:p
Ho provato a modificare le classi dei toggles come segue:
WifiButton.smali
codice:
.method protected updateState()V
.locals 7
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v5, "toggles_chooser"
const v6, 0x0
invoke-static {v4, v5, v6}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v4
const v5, 0x1
if-eq v5, v4, :cond_toggles0
const v5, 0x2
if-eq v5, v4, :cond_toggles1
const v5, 0x3
if-eq v5, v4, :cond_toggles2
const v5, 0x4
if-eq v5, v4, :cond_toggles3
const v3, 0x50200b4
const v2, 0x50200b3
goto :goto_new
:cond_toggles0
const v3, 0x5020180
const v2, 0x502017f
goto :goto_new
:cond_toggles1
const v3, 0x50201b7
const v2, 0x50201b6
:goto_new
sget-object v0, Lcom/wanam/systemui/quickpanel/WifiButton;->sWifiState:Lcom/wanam/systemui/quickpanel/StateTracker;
iget-object v1, p0, Lcom/wanam/systemui/quickpanel/WifiButton;->mView:Landroid/view/View;
invoke-virtual {v1}, Landroid/view/View;->getContext()Landroid/content/Context;
Cosi ho ottenuto un Class init failed in newInstance
Ho provato a modificarla come sotto ma ho ottenuto mi pare un NullPoiterException.
Non ho fatto altre prove ultimamente....volevo sentire prima se avevi qualche consiglio.:p
codice:
.field private mContext:Landroid/content/Context;
codice:
.method protected updateState()V
.locals 7
iget-object v4, p0, Lcom/wanam/systemui/quickpanel/WifiButton;->mContext:Landroid/content/Context;
invoke-virtual {v4}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v5, "toggles_chooser"
const v6, 0x0
Edit. Qui se ti servono ci sono i file lidroid e gli sceen di alcuni degli errori che ho incontrato.
Lidroid-files.zip
Quote:
Originariamente inviato da
rattlehead
Nicola, ho avuto qualche problema con la lidroid. So che tu non la usi, ma vedi, come hai tempo e voglia, se riesci a darmi qualche suggerimento.:p
Ho pensato a due modi in cui si può tentare di risolvere il tuo problema
primo modo:
si cambia il nome del metodo da .method protected updateState()V a .method protected updateState(Landroid/content/Context;)V e poi aggiungi il codice come hai fatto la prima volta
codice:
.method protected updateState(Landroid/content/Context;)V
.locals 7
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v5, "toggles_chooser"
const v6, 0x0
invoke-static {v4, v5, v6}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v4
const v5, 0x1
if-eq v5, v4, :cond_toggles0
secondo modo:
prova ad aggiungere le seguenti linee
codice:
.method protected updateState()V
.locals 7
iget-object v1, p0, Lcom/wanam/systemui/quickpanel/WifiButton;->mView:Landroid/view/View;
invoke-virtual {v1}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v5, "toggles_chooser"
const v6, 0x0
invoke-static {v4, v5, v6}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v4
Spero che almeno uno dei due funzionirotflrotflrotfl
Quote:
Originariamente inviato da
rattlehead
Nicola, ho avuto qualche problema con la lidroid. So che tu non la usi, ma vedi, come hai tempo e voglia, se riesci a darmi qualche suggerimento.:p
Ho provato a modificare le classi dei toggles come segue:
WifiButton.smali
codice:
.method protected updateState()V
.locals 7
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v5, "toggles_chooser"
const v6, 0x0
invoke-static {v4, v5, v6}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v4
const v5, 0x1
if-eq v5, v4, :cond_toggles0
const v5, 0x2
if-eq v5, v4, :cond_toggles1
const v5, 0x3
if-eq v5, v4, :cond_toggles2
const v5, 0x4
if-eq v5, v4, :cond_toggles3
const v3, 0x50200b4
const v2, 0x50200b3
goto :goto_new
:cond_toggles0
const v3, 0x5020180
const v2, 0x502017f
goto :goto_new
:cond_toggles1
const v3, 0x50201b7
const v2, 0x50201b6
:goto_new
sget-object v0, Lcom/wanam/systemui/quickpanel/WifiButton;->sWifiState:Lcom/wanam/systemui/quickpanel/StateTracker;
iget-object v1, p0, Lcom/wanam/systemui/quickpanel/WifiButton;->mView:Landroid/view/View;
invoke-virtual {v1}, Landroid/view/View;->getContext()Landroid/content/Context;
Cosi ho ottenuto un Class init failed in newInstance
Ho provato a modificarla come sotto ma ho ottenuto mi pare un NullPoiterException.
Non ho fatto altre prove ultimamente....volevo sentire prima se avevi qualche consiglio.:p
codice:
.field private mContext:Landroid/content/Context;
codice:
.method protected updateState()V
.locals 7
iget-object v4, p0, Lcom/wanam/systemui/quickpanel/WifiButton;->mContext:Landroid/content/Context;
invoke-virtual {v4}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v5, "toggles_chooser"
const v6, 0x0
Edit. Qui se ti servono ci sono i file lidroid e gli sceen di alcuni degli errori che ho incontrato.
Lidroid-files.zip
http://tapatalk.imageshack.com/v2/14...f577f6ef0a.jpg
Quote:
Originariamente inviato da
nicola78
Ho pensato a due modi in cui si può tentare di risolvere il tuo problema
primo modo:
si cambia il nome del metodo da .method protected updateState()V a .method protected updateState(Landroid/content/Context;)V e poi aggiungi il codice come hai fatto la prima volta
codice:
.method protected updateState(Landroid/content/Context;)V
.locals 7
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v5, "toggles_chooser"
const v6, 0x0
invoke-static {v4, v5, v6}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v4
const v5, 0x1
if-eq v5, v4, :cond_toggles0
secondo modo:
prova ad aggiungere le seguenti linee
codice:
.method protected updateState()V
.locals 7
iget-object v1, p0, Lcom/wanam/systemui/quickpanel/WifiButton;->mView:Landroid/view/View;
invoke-virtual {v1}, Landroid/view/View;->getContext()Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v5, "toggles_chooser"
const v6, 0x0
invoke-static {v4, v5, v6}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v4
Spero che almeno uno dei due funzionirotflrotflrotfl
Siete grandi http://tapatalk.imageshack.com/v2/14...2124204014.jpg
Quote:
Originariamente inviato da
nicola78
Ho pensato a due modi in cui si può tentare di risolvere il tuo problema
primo modo:
si cambia il nome del metodo da .method protected updateState()V a .method protected updateState(Landroid/content/Context;)V e poi aggiungi il codice come hai fatto la prima volta
codice:
.method protected updateState(Landroid/content/Context;)V
.locals 7
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v5, "toggles_chooser"
const v6, 0x0
invoke-static {v4, v5, v6}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v4
const v5, 0x1
if-eq v5, v4, :cond_toggles0
secondo modo:
prova ad aggiungere le seguenti linee
codice:
.method protected updateState()V
.locals 7
iget-object v1, p0, Lcom/wanam/systemui/quickpanel/WifiButton;->mView:Landroid/view/View;
invoke-virtual {v1}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v5, "toggles_chooser"
const v6, 0x0
invoke-static {v4, v5, v6}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v4
Spero che almeno uno dei due funzionirotflrotflrotfl
Nulla di fatto Sir!!!:'(
Col primo metodo ho ottenuto un errore di metodo non implementato
Screenshot_2014-12-21-13-35-13.png
Ho provato a cambiare allo stesso modo il metodo protetto in powerButton.smali ma nulla!!
Col secondo metodo invece mi ha restituito che l'arg Landroid/view/View; non è una istanza di Landroid/content/Context;
Screenshot_2014-12-21-13-39-34.png
Con i colori ho avuto più fortuna...anche se al momento il risultato non è quello sperato. I toggle vengono tutti colorati nello stesso modo!! Devo vedere altrove!
Screenshot_2014-12-21-14-29-44.png
Quote:
Originariamente inviato da
rattlehead
Nulla di fatto Sir!!!:'(
Col primo metodo ho ottenuto un errore di metodo non implementato
Screenshot_2014-12-21-13-35-13.png
Ho provato a cambiare allo stesso modo il metodo protetto in powerButton.smali ma nulla!!
Col secondo metodo invece mi ha restituito che l'arg Landroid/view/View; non è una istanza di Landroid/content/Context;
Screenshot_2014-12-21-13-39-34.png
Con i colori ho avuto più fortuna...anche se al momento il risultato non è quello sperato. I toggle vengono tutti colorati nello stesso modo!! Devo vedere altrove!
Screenshot_2014-12-21-14-29-44.png
Ultima chance , anche perchè non mi viene altro in mente, prova cosi
codice:
.method protected updateState()V
.locals 7
iget-object v1, p0, Lcom/wanam/systemui/quickpanel/WifiButton;->mView:Landroid/view/View;
invoke-virtual {v1}, Landroid/view/View;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v5, "toggles_chooser"
const v6, 0x0
invoke-static {v4, v5, v6}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v4
Quote:
Originariamente inviato da
nicola78
Ultima chance , anche perchè non mi viene altro in mente, prova cosi
codice:
.method protected updateState()V
.locals 7
iget-object v1, p0, Lcom/wanam/systemui/quickpanel/WifiButton;->mView:Landroid/view/View;
invoke-virtual {v1}, Landroid/view/View;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v5, "toggles_chooser"
const v6, 0x0
invoke-static {v4, v5, v6}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v4
Nulla no such method error.:mad:
In compenso ho trovato i colori del led attivo/disattivo. Manca il toggle disattivato e lo sfondo.
@nicola78 ho provato su un altra classe AereoButton dove già era presente la prima parte.
Pare cosi funzioni...ora devo provare sulle altre classi, in particolare quelle uguali a quella precedente del wifiButton.
La parte rossa è quella che ho modificato o aggiunto.
codice:
.method protected updateState()V
.locals 6
iget-object v1 , p0, Lcom/wanam/systemui/quickpanel/AirplaneButton;->mView:Landroid/view/View;
invoke-virtual {v1 }, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v1
invoke-static {v1 }, Lcom/wanam/systemui/quickpanel/AirplaneButton;->getState(Landroid/content/Context;)Z
move-result v0
if-eqz v0, :cond_0
invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v1
const-string v2, "toggles_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 v2, v1, :cond_toggles0
const v2, 0x2
if-eq v2, v1, :cond_toggles1
const v0, 0x502007b
goto :goto_new
:cond_toggles0
const v0, 0x502017e
goto :goto_new
:cond_toggles1
const v0, 0x5020144
:goto_new
iput v0, p0, Lcom/wanam/systemui/quickpanel/AirplaneButton;->mIcon:I
const/4 v0, 0x1
iput v0, p0, Lcom/wanam/systemui/quickpanel/AirplaneButton;->mState:I
:goto_0
return-void
:cond_0
invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v1
const-string v2, "toggles_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 v2, v1, :cond_toggles0a
const v2, 0x2
if-eq v2, v1, :cond_toggles1a
const v0, 0x502007a
goto :goto_new1
:cond_toggles0a
const v0, 0x502017d
goto :goto_new1
:cond_toggles1a
const v0, 0x5020143
:goto_new1
iput v0, p0, Lcom/wanam/systemui/quickpanel/AirplaneButton;->mIcon:I
const/4 v0, 0x2
iput v0, p0, Lcom/wanam/systemui/quickpanel/AirplaneButton;->mState:I
goto :goto_0
.end method
PS. Pensi che da qui sia possibile gestire i colori?? Non riesco a trovare il colore per i toggles_off e lo sfondo!
Edit. Confermo funziona anche con l'altra classe.;)
Un piccolo ot natalizio anche qua http://tapatalk.imageshack.com/v2/14...13bfc83f37.jpg grazie per tutto quello che condividete e buon natale
1 allegato(i)
[Mod][Porting]Guida sul Porting dell' animazione del Toast
Come prima cosa vorrei scusarmi del fatto di non aver trovato l' utente che ha realizzato questa mod ,per potergli girare i ringraziamenti opportuni, comunque questa è una mod che si può trovare nelle rom KitKat AOSP, Linaro e altre, io come riferimento ho preso la Dirty Unicorns.
Testata e funzionante su JellyBean 4.1.2 xms3
Fare un Nandroid Backup prima di effettuare operazioni di modding
Per realizzare questa mod vi serve:
SecSettings.apk
framework-res.apk
framework.jar
framework2.jar
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 con l'editor di testo il display_settings.xml e aggiungere le linee in rosso
codice:
<ListPreference android:persistent="false" android:entries="@array/touch_key_light_entries" android:title="@string/touch_key_light" android:key="touch_key_light" android:summary="@string/touch_key_light_summary" android:widgetLayout="@layout/round_more_icon" android:entryValues="@array/touch_key_light_values" />
<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/animations">
<ListPreference android:entries="@array/toast_animation_entries" android:title="@string/toast_animation_title" android:key="toast_animation" android:widgetLayout="@layout/round_more_icon" android:entryValues="@array/toast_animation_values" />
</PreferenceCategory>
Andare in res/value aprire strings.xml e aggiungere alla fine le seguenti linee in rosso
codice:
<string name="animations">Animations</string>
<string name="toast_animation_title">Toast Animations</string>
Andare in res/value-it aprire strings.xml e aggiungere alla fine le seguenti linee in rosso
codice:
<string name="animations">Animazioni</string>
<string name="toast_animation_title">Animazione Toast</string>
Andare in res/value e aprire arrays.xml e aggiungere alla fine le seguenti linee in rosso
codice:
<string-array name="toast_animation_entries">
<item>Nessuna Animazione</item>
<item>Animazione Stock</item>
<item>Animazione Fade</item>
<item>Animazione SlideRight</item>
<item>Animazione SlideLeft</item>
<item>Animazione Xylon</item>
<item>Animazione Toko</item>
<item>Animazione Tn</item>
<item>Animazione Honami</item>
<item>Animazione FastFade</item>
<item>Animazione GrowFade</item>
<item>Animazione GrowFadeCenter</item>
<item>Animazione GrowFadeBottom</item>
<item>Animazione Translucent</item>
<item>Animazione SlideLeftRight</item>
<item>Animazione SlideRightLeft</item>
</string-array>
<string-array name="toast_animation_values">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
<item>9</item>
<item>10</item>
<item>11</item>
<item>12</item>
<item>13</item>
<item>14</item>
<item>15</item>
</string-array>
Andare in smali\com\android\settings\DisplaySettings.smal i e aggiungere le seguenti linee in rosso
codice:
.field mSupportFolderType:Z
.field private mToastAnimation:Landroid/preference/ListPreference;
.field private mTouchKeyLight:Landroid/preference/ListPreference;
Nello stesso file trovare .method public onCreate e aggiungere le seguenti linee 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, "toast_animation"
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;->mToastAnimation:Landroid/preference/ListPreference;
const-string v12, "toast_animation"
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;->mToastAnimation: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;->mToastAnimation:Landroid/preference/ListPreference;
invoke-virtual {v13, p0}, Landroid/preference/SwitchPreferenceScreen;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
.line 426
Nello stesso file trovare .method public onPreferenceChange e aggiungere le linee in rosso, nelle linee in blu qualche spiegazione
codice:
const-string v2, "contextualpage_settings"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_toast_anim qui cambiare da cond_2 a cond_toast_anim
.line 1089
check-cast p2, Ljava/lang/Boolean;
invoke-virtual {p2}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
if-eqz v0, :cond_e
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_toast_anim
iget-object v1, p0, Lcom/android/settings/DisplaySettings;->mToastAnimation: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, "toast_animation"
invoke-static {v1, v2, v0}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto/16 :goto_4
.end method
Salvare tutti i cambiamenti e ricompilare il SecSettings
....continua nel prossimo post
1 allegato(i)
Parte con il framework-res.apk
Decompilare il framework-res.apk e andare in res/value ed aprire il file styles.xml e aggiungere alla fine le seguenti linee:
codice:
<style name="Animation.Toast" parent="@style/Animation">
<item name="windowEnterAnimation">@anim/toast_enter</item>
<item name="windowExitAnimation">@anim/toast_exit</item>
</style>
<style name="Animation.Toast.Fade" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/fade_in</item>
<item name="windowExitAnimation">@anim/fade_out</item>
</style>
<style name="Animation.Toast.SlideRight" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/slide_in_right</item>
<item name="windowExitAnimation">@anim/slide_out_right</item>
</style>
<style name="Animation.Toast.SlideLeft" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/slide_in_left</item>
<item name="windowExitAnimation">@anim/slide_out_left</item>
</style>
<style name="Animation.Toast.Xylon" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/xylon_toast_enter</item>
<item name="windowExitAnimation">@anim/xylon_toast_exit</item>
</style>
<style name="Animation.Toast.Toko" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/toko_toast_enter</item>
<item name="windowExitAnimation">@anim/toko_toast_exit</item>
</style>
<style name="Animation.Toast.Tn" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/tn_toast_enter</item>
<item name="windowExitAnimation">@anim/tn_toast_exit</item>
</style>
<style name="Animation.Toast.Honami" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/honami_toast_enter</item>
<item name="windowExitAnimation">@anim/honami_toast_exit</item>
</style>
<style name="Animation.Toast.FastFade" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/fast_fade_in</item>
<item name="windowExitAnimation">@anim/fast_fade_out</item>
</style>
<style name="Animation.Toast.GrowFade" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/grow_fade_in</item>
<item name="windowExitAnimation">@anim/fast_fade_out</item>
</style>
<style name="Animation.Toast.GrowFadeCenter" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/grow_fade_in_center</item>
<item name="windowExitAnimation">@anim/fast_fade_out</item>
</style>
<style name="Animation.Toast.GrowFadeBottom" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/grow_fade_in_from_bottom</item>
<item name="windowExitAnimation">@anim/fast_fade_out</item>
</style>
<style name="Animation.Toast.Translucent" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/translucent_enter</item>
<item name="windowExitAnimation">@anim/translucent_exit</item>
</style>
<style name="Animation.Toast.SlideRightLeft" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/slide_in_right</item>
<item name="windowExitAnimation">@anim/slide_out_left</item>
</style>
<style name="Animation.Toast.SlideLeftRight" parent="@style/Animation.Toast">
<item name="windowEnterAnimation">@anim/slide_in_left</item>
<item name="windowExitAnimation">@anim/slide_out_right</item>
</style>
Andare in framework-res/res/anim e copiare i file contenuti in questo .zip Allegato 131936
Ricompilare il framework-res e decompilare il nuovo framework-res.apk per ottenerre i nuovi ids delle linee aggiunte nel file styles.xml,
quindi andare in framework-res/res/value ed aprire il file public.xml dove sono contenuti gli ids e cercare e prendere nota degli ids che fanno
riferimento a le seguenti stringhe:
<public type="style" name="Animation.Toast" id="0x01030004" />
<public type="style" name="Animation.Toast.Fade" id="0x0103032d" />
<public type="style" name="Animation.Toast.SlideRight" id="0x0103032e" />
<public type="style" name="Animation.Toast.SlideLeft" id="0x0103032f" />
<public type="style" name="Animation.Toast.Xylon" id="0x01030330" />
<public type="style" name="Animation.Toast.Toko" id="0x01030331" />
<public type="style" name="Animation.Toast.Tn" id="0x01030332" />
<public type="style" name="Animation.Toast.Honami" id="0x01030333" />
<public type="style" name="Animation.Toast.FastFade" id="0x01030334" />
<public type="style" name="Animation.Toast.GrowFade" id="0x01030335" />
<public type="style" name="Animation.Toast.GrowFadeCenter" id="0x01030336" />
<public type="style" name="Animation.Toast.GrowFadeBottom" id="0x01030337" />
<public type="style" name="Animation.Toast.Translucent" id="0x01030338" />
<public type="style" name="Animation.Toast.SlideRightLeft" id="0x01030339" />
<public type="style" name="Animation.Toast.SlideLeftRight" id="0x0103033a" />
Gli ids sono i codici alfanumerici che seguono il 0x , probabilmente quelli che otterrete coincideranno con quelli riportati qua sopra , in caso contrario utilizzate quelli presenti nel vostro file.
I nuovi ids dovranno poi essere copiati ,nel caso fosse necessario , nel file Toast$TN.smali .
Parte con il framework2.jar
Decompilare il framework2.jar ed andare in android/widget/ qui copiare e sostituire il file Toast$TN.smali con quello contenuto in questo .zip Allegato 131940
Aprire il file Toast$TN.smali e cercare il metodo .method public handleShow()V , nella seguente parte del metodo ci sono in blu le indicazioni su quali ids fanno riferimento le stringhe del file styles.xml , se è necessario sostituire gli ids in accordo a quelli del vostro file public.xml
codice:
:pswitch_a4
iget-object v3, p0, Landroid/widget/Toast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;
const v4, 0x1030004 #Animation.Toast
iput v4, v3, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I
goto :goto_53
:pswitch_ac
iget-object v3, p0, Landroid/widget/Toast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;
const v4, 0x103032d #Animation.Toast.Fade
iput v4, v3, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I
goto :goto_53
:pswitch_b4
iget-object v3, p0, Landroid/widget/Toast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;
const v4, 0x103032e #Animation.Toast.SlideRight
iput v4, v3, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I
goto :goto_53
:pswitch_bc
iget-object v3, p0, Landroid/widget/Toast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;
const v4, 0x103032f #Animation.Toast.SlideLeft
iput v4, v3, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I
goto :goto_53
:pswitch_c4
iget-object v3, p0, Landroid/widget/Toast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;
const v4, 0x1030330 #Animation.Toast.Xylon
iput v4, v3, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I
goto :goto_53
:pswitch_cc
iget-object v3, p0, Landroid/widget/Toast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;
const v4, 0x1030331 #Animation.Toast.Toko
iput v4, v3, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I
goto :goto_53
:pswitch_d4
iget-object v3, p0, Landroid/widget/Toast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;
const v4, 0x1030332 #Animation.Toast.Tn
iput v4, v3, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I
goto/16 :goto_53
:pswitch_dd
iget-object v3, p0, Landroid/widget/Toast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;
const v4, 0x1030333 #Animation.Toast.Honami
iput v4, v3, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I
goto/16 :goto_53
:pswitch_e6
iget-object v3, p0, Landroid/widget/Toast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;
const v4, 0x1030334 #Animation.Toast.FastFade
iput v4, v3, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I
goto/16 :goto_53
:pswitch_ef
iget-object v3, p0, Landroid/widget/Toast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;
const v4, 0x1030335 #Animation.Toast.GrowFade
iput v4, v3, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I
goto/16 :goto_53
:pswitch_f8
iget-object v3, p0, Landroid/widget/Toast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;
const v4, 0x1030336 #Animation.Toast.GrowFadeCenter
iput v4, v3, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I
goto/16 :goto_53
:pswitch_101
iget-object v3, p0, Landroid/widget/Toast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;
const v4, 0x1030337 #Animation.Toast.GrowFadeBottom
iput v4, v3, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I
goto/16 :goto_53
:pswitch_10a
iget-object v3, p0, Landroid/widget/Toast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;
const v4, 0x1030338 #Animation.Toast.Translucent
iput v4, v3, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I
goto/16 :goto_53
:pswitch_113
iget-object v3, p0, Landroid/widget/Toast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;
const v4, 0x103033a #Animation.Toast.SlideLeftRight
iput v4, v3, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I
goto/16 :goto_53
:pswitch_11c
iget-object v3, p0, Landroid/widget/Toast$TN;->mParams:Landroid/view/WindowManager$LayoutParams;
const v4, 0x1030339 #Animation.Toast.SlideRightLeft
iput v4, v3, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I
goto/16 :goto_53
nop
Salvare tutte le modifiche e ricompilare il framework2
....continua nel prossimo post
Parte con il framework.jar
Decompilare il file framework.jar ed andare in android/content/res/ , aprire il file Configuration.smali ed aggiungere il seguente metodo in roso
codice:
.method public equals(Ljava/lang/Object;)Z
.registers 3
.parameter "that"
.prologue
.line 1177
:try_start_0
check-cast p1, Landroid/content/res/Configuration;
.end local p1
invoke-virtual {p0, p1}, Landroid/content/res/Configuration;->equals(Landroid/content/res/Configuration;)Z
:try_end_5
.catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_5} :catch_7
move-result v0
.line 1180
:goto_6
return v0
.line 1178
:catch_7
move-exception v0
.line 1180
const/4 v0, 0x0
goto :goto_6
.end method
.method public getLayoutDirection()I
.registers 3
iget v0, p0, Landroid/content/res/Configuration;->screenLayout:I
and-int/lit16 v0, v0, 0xc0
const/16 v1, 0x80
if-ne v0, v1, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public hashCode()I
.registers 4
.prologue
.line 1184
const/16 v0, 0x11
Salvare tutte le modifiche e ricompilare il framework.jar
A questo punto potete inserire i vostri file modificati nel vostro dispositivo
Modificare in tempo reale lo stile e il colore dei toggles wanam
Decompilate il file Lidroid-res.apk e aggiungete le vostre nuove immagini (toggles e led).
Ricompilate e ri-decompilate l'apk per avere i nuovi ids.
Decompilate ora il SecSettings.apk
Aprite il file res/xml/display_settings.xml e aggiungete le seguenti righe nella posizione che preferite.
codice:
<PreferenceScreen android:title="@string/expanded_options_toogles" android:summary="@string/summary_expanded_options_toogles">
<ListPreference android:persistent="false" android:entries="@array/toggles_chooser_entries" android:title="Tematura Toggles" android:key="toggles_chooser" android:summary="Tematura icone toggles" android:widgetLayout="@layout/round_more_icon" android:entryValues="@array/toggles_chooser_values" />
<com.loser.colorpicker.ColorPickerPreference android:persistent="false" android:title="@string/statusbar_toggles_title" android:key="toggles_color" android:summary="@string/statusbar_toggles_color_summary" android:defaultValue="0xff0000ff" alphaSlider="true" />
<com.loser.colorpicker.ColorPickerPreference android:persistent="false" android:title="@string/statusbar_toggles_off_title" android:key="toggles_color_off" android:summary="@string/statusbar_toggles_color_off_summary" android:defaultValue="0xffff0000" alphaSlider="true" />
<ListPreference android:persistent="false" android:entries="@array/toggles_led_chooser_entries" android:title="Tematura Led" android:key="toggles_led_chooser" android:summary="Tematura dei led di stato dei toggles" android:widgetLayout="@layout/round_more_icon" android:entryValues="@array/toggles_led_chooser_values" />
<com.loser.colorpicker.ColorPickerPreference android:persistent="false" android:title="@string/statusbar_toggles_btn_on_title" android:key="toggles_color_btn_on" android:summary="@string/statusbar_toggles_color_btn_on_summary" android:defaultValue="0xff0000ff" alphaSlider="true" />
<com.loser.colorpicker.ColorPickerPreference android:persistent="false" android:title="@string/statusbar_toggles_btn_off_title" android:key="toggles_color_btn_off" android:summary="@string/statusbar_toggles_color_btn_off_summary" android:defaultValue="0xffff0000" alphaSlider="true" />
<com.loser.colorpicker.ColorPickerPreference android:persistent="false" android:title="@string/statusbar_toggles_bg_title" android:key="toggles_bg_color" android:summary="@string/statusbar_toggles_bg_color_summary" android:defaultValue="0xff000000" alphaSlider="true" />
<com.loser.colorpicker.ColorPickerPreference android:persistent="false" android:title="@string/statusbar_toggles_text_title" android:key="toggles_text_color" android:summary="@string/statusbar_toggles_color_text_summary" android:defaultValue="0xffffffff" alphaSlider="true" />
</PreferenceScreen>
Andate ora in res/values/arrays.xml e aggiungete in fondo:(modificate la lunghezza dell'array e i nomi in base a quelli aggiunti)
codice:
<string-array name="toggles_chooser_entries">
<item>Tema Corrente</item>
<item>Stock</item>
<item>Samsung</item>
<item>Alternativa 1</item>
<item>Alternativa 2</item>
</string-array>
<string-array name="toggles_chooser_values">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
</string-array>
<string-array name="toggles_led_chooser_entries">
<item>Tema Corrente</item>
<item>Stock</item>
<item>Bagliore</item>
<item>Linea Spessa</item>
<item>Pallini</item>
<item>Trasparente</item>
</string-array>
<string-array name="toggles_led_chooser_values">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
</string-array>
Aprite ora il res/values/strings.xml e aggiungete in fondo alla pagina quanto segue.
codice:
<string name="expanded_options_toogles">Opzioni Toogles</string>
<string name="summary_expanded_options_toogles">Scegli fra più opzioni per i Toogles</string>
<string name="statusbar_toggles_title">Colora Toggles On</string>
<string name="statusbar_toggles_color_summary">Scegli il colore dei toggles quando attivati</string>
<string name="statusbar_toggles_bg_title">Colora Sfondo Toggles</string>
<string name="statusbar_toggles_bg_color_summary">Scegli il colore dello sfondo dei toggles</string>
<string name="statusbar_toggles_off_title">Colora Toggles Off</string>
<string name="statusbar_toggles_color_off_summary">Scegli il colore dei toggles quando disattivati</string>
<string name="statusbar_toggles_btn_on_title">Colora Led On</string>
<string name="statusbar_toggles_color_btn_on_summary">Scegli il colore del led dei toggles quando attivati</string>
<string name="statusbar_toggles_btn_off_title">Colora Led Off</string>
<string name="statusbar_toggles_color_btn_off_summary">Scegli il colore del led dei toggles quando disattivati</string>
<string name="statusbar_toggles_text_title">Colora Testo Toggles</string>
<string name="statusbar_toggles_color_text_summary">Scegli il colore della descrizione dei toggles</string>
Aprite il file: smali/com/android/settings/DisplaySettings.smali
Cercate la riga:
[code]
.field mSupportFolderType:Z
[code]
e aggiungete:
codice:
.field private mTogglesBgColors:Lcom/loser/colorpicker/ColorPickerPreference;
.field private mTogglesColors:Lcom/loser/colorpicker/ColorPickerPreference;
.field private mTogglesColorsLed:Lcom/loser/colorpicker/ColorPickerPreference;
.field private mTogglesColorsLedOff:Lcom/loser/colorpicker/ColorPickerPreference;
.field private mTogglesColorsOff:Lcom/loser/colorpicker/ColorPickerPreference;
.field private mTogglesLedTheme:Landroid/preference/ListPreference;
.field private mTogglesTextColors:Lcom/loser/colorpicker/ColorPickerPreference;
.field private mTogglesTheme:Landroid/preference/ListPreference;
Segue....
In .method private updateState()V
Aggiungete le linee in rosso.
codice:
.line 874
:goto_0
iget-object v3, p0, Lcom/android/settings/DisplaySettings;->mDisplayBatteryLevel:Landroid/preference/CheckBoxPreference;
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
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;->mTogglesColors:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "toggles_color"
const v5, -0x1
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
iget-object v0, p0, Lcom/android/settings/DisplaySettings;->mTogglesColorsOff:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "toggles_color_off"
const v5, -0x1
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
iget-object v0, p0, Lcom/android/settings/DisplaySettings;->mTogglesColorsLed:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "toggles_color_btn_on"
const v5, -0x1
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
iget-object v0, p0, Lcom/android/settings/DisplaySettings;->mTogglesColorsLedOff:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "toggles_color_btn_off"
const v5, -0x1
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
iget-object v0, p0, Lcom/android/settings/DisplaySettings;->mTogglesBgColors:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "toggles_bg_color"
const v5, -0x1
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
iget-object v0, p0, Lcom/android/settings/DisplaySettings;->mTogglesTextColors:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "toggles_text_color"
const v5, -0x1
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
Segue....
In .method public onCreate(Landroid/os/Bundle)V
Aggiungete le linee in rosso.
codice:
.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, "toggles_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;->mTogglesTheme:Landroid/preference/ListPreference;
const-string v12, "toggles_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;->mTogglesTheme: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;->mTogglesTheme:Landroid/preference/ListPreference;
invoke-virtual {v13, p0}, Landroid/preference/SwitchPreferenceScreen;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
const-string v12, "toggles_led_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;->mTogglesLedTheme:Landroid/preference/ListPreference;
const-string v12, "toggles_led_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;->mTogglesLedTheme: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;->mTogglesLedTheme:Landroid/preference/ListPreference;
invoke-virtual {v13, p0}, Landroid/preference/SwitchPreferenceScreen;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
const-string v12, "toggles_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;->mTogglesColors:Lcom/loser/colorpicker/ColorPickerPreference;
iget-object v12, p0, Lcom/android/settings/DisplaySettings;->mTogglesColors:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {v12, p0}, Lcom/loser/colorpicker/ColorPickerPreference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
const-string v12, "toggles_color_off"
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;->mTogglesColorsOff:Lcom/loser/colorpicker/ColorPickerPreference;
iget-object v12, p0, Lcom/android/settings/DisplaySettings;->mTogglesColorsOff:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {v12, p0}, Lcom/loser/colorpicker/ColorPickerPreference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
const-string v12, "toggles_color_btn_on"
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;->mTogglesColorsLed:Lcom/loser/colorpicker/ColorPickerPreference;
iget-object v12, p0, Lcom/android/settings/DisplaySettings;->mTogglesColorsLed:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {v12, p0}, Lcom/loser/colorpicker/ColorPickerPreference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
const-string v12, "toggles_color_btn_off"
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;->mTogglesColorsLedOff:Lcom/loser/colorpicker/ColorPickerPreference;
iget-object v12, p0, Lcom/android/settings/DisplaySettings;->mTogglesColorsLedOff:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {v12, p0}, Lcom/loser/colorpicker/ColorPickerPreference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
const-string v12, "toggles_bg_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;->mTogglesBgColors:Lcom/loser/colorpicker/ColorPickerPreference;
iget-object v12, p0, Lcom/android/settings/DisplaySettings;->mTogglesBgColors:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {v12, p0}, Lcom/loser/colorpicker/ColorPickerPreference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
const-string v12, "toggles_text_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;->mTogglesTextColors:Lcom/loser/colorpicker/ColorPickerPreference;
iget-object v12, p0, Lcom/android/settings/DisplaySettings;->mTogglesTextColors:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {v12, p0}, Lcom/loser/colorpicker/ColorPickerPreference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
Segue...
In .method public onPreferenceChange(Landroid/preference/Preference;Ljava/lang/ObjectZ
dopo i :cond_a aggiungete:
codice:
.line 1066
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, "toggles_color"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_tog1
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, "toggles_color"
invoke-static {v2, v3, v1}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto/16 :goto_4
:cond_tog1
const-string v2, "toggles_color_off"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_tog2
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, "toggles_color_off"
invoke-static {v2, v3, v1}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto/16 :goto_4
:cond_tog2
const-string v2, "toggles_color_btn_on"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_tog3
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, "toggles_color_btn_on"
invoke-static {v2, v3, v1}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto/16 :goto_4
:cond_tog3
const-string v2, "toggles_color_btn_off"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_tog4
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, "toggles_color_btn_off"
invoke-static {v2, v3, v1}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto/16 :goto_4
:cond_tog4
const-string v2, "toggles_bg_color"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_tog5
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, "toggles_bg_color"
invoke-static {v2, v3, v1}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto/16 :goto_4
:cond_tog5
const-string v2, "toggles_text_color"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_tog6
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, "toggles_text_color"
invoke-static {v2, v3, v1}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto/16 :goto_4
:cond_tog6
nello stesso metodo cercate le linee nere aggiungete quelle rosse
codice:
.line 1099
:cond_40 <--questo valore può essere differente
const-string v1, "changed"
const-string v3, "false"
invoke-virtual {v2, v1, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
.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_41 <--questo valore può essere differente
move-wide v0, v4
goto/16 :goto_3
:cond_42 <--questo valore può essere differente
iget-object v1, p0, Lcom/android/settings/DisplaySettings;->mTogglesTheme:Landroid/preference/ListPreference;
if-ne p1, v1, :cond_tog_chooser
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, "toggles_chooser"
invoke-static {v1, v2, v0}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto/16 :goto_4
:cond_tog_chooser
iget-object v1, p0, Lcom/android/settings/DisplaySettings;->mTogglesLedTheme: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, "toggles_led_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
Segue....
Passiamo al SystemUI.apk
Recatevi in smali/com/wanam/systemui/quickpanel/
Qui i toggles cambiano leggermente gli uni da gli altri. Vi posto un paio di esempi tanto per farvi capire.
AirplaneButton.smali
.method protected updateState()V
codice:
.locals 1 <--cambiatelo in .locals 4
#cambiate il v0 in v1 e aggiungete la parte in rosso
iget-object v1 , p0, Lcom/wanam/systemui/quickpanel/AirplaneButton;->mView:Landroid/view/View;
invoke-virtual {v1 }, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v1
invoke-static {v1 }, Lcom/wanam/systemui/quickpanel/AirplaneButton;->getState(Landroid/content/Context;)Z
move-result v0
if-eqz v0, :cond_4
invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v1
const-string v2, "toggles_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 v2, v1, :cond_0
const v2, 0x2
if-eq v2, v1, :cond_1
const v2, 0x3
if-eq v2, v1, :cond_2
const v2, 0x4
if-eq v2, v1, :cond_3
const v0, 0x502007b <-- ids toggles attivato di default
goto :goto_0
:cond_0
const v0, 0x502017e <-- ids toggles attivato nuovo 1
goto :goto_0
:cond_1
const v0, 0x5020144 <-- ids toggles attivato nuovo 2
goto :goto_0
:cond_2
const v0, 0x502010b <-- ids toggles attivato nuovo 3
goto :goto_0
:cond_3
const v0, 0x50201b9 <-- ids toggles attivato nuovo 4
:goto_0
iput v0, p0, Lcom/wanam/systemui/quickpanel/AirplaneButton;->mIcon:I
const/4 v0, 0x1
iput v0, p0, Lcom/wanam/systemui/quickpanel/AirplaneButton;->mState:I
:goto_1
return-void
:cond_4
invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v1
const-string v2, "toggles_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 v2, v1, :cond_5
const v2, 0x2
if-eq v2, v1, :cond_6
const v2, 0x3
if-eq v2, v1, :cond_7
const v2, 0x4
if-eq v2, v1, :cond_8
const v0, 0x502007a <-- ids toggles disattivato di default
goto :goto_2
:cond_5
const v0, 0x502017d <-- ids toggles disattivato nuovo 1
goto :goto_2
:cond_6
const v0, 0x5020143 <-- ids toggles disattivato nuovo 2
goto :goto_2
:cond_7
const v0, 0x502010a <-- ids toggles disattivato nuovo 3
goto :goto_2
:cond_8
const v0, 0x50201b8 <-- ids toggles disattivato nuovo 4
:goto_2
iput v0, p0, Lcom/wanam/systemui/quickpanel/AirplaneButton;->mIcon_off:I <-modificate mIcon in mIcon_off
const/4 v0, 0x2
iput v0, p0, Lcom/wanam/systemui/quickpanel/AirplaneButton;->mState:I
goto :goto_1
.end method
BluetoothButton.smali
.method protected updateState()V
codice:
.locals 4 <-- modificatelo in .locals 7
iget-object v1, p0, Lcom/wanam/systemui/quickpanel/BluetoothButton;->mView:Landroid/view/View;
invoke-virtual {v1}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v1
invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v5, "toggles_chooser"
const v6, 0x0
invoke-static {v4, v5, v6}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v4
const v5, 0x1
if-eq v5, v4, :cond_a0
const v5, 0x2
if-eq v5, v4, :cond_a1
const v5, 0x3
if-eq v5, v4, :cond_a2
const v5, 0x4
if-eq v5, v4, :cond_a3
const v3, 0x5020082 <-- ids toggles attivato default
const v2, 0x5020081 <-- ids toggles disattivato default
goto :goto_0
:cond_a0
const v3, 0x5020182 <-- ids toggles attivato nuovo 1
const v2, 0x5020181 <-- ids toggles disattivato nuovo 1
goto :goto_a0
:cond_a1
const v3, 0x5020148 <-- ids toggles attivato nuovo 2
const v2, 0x5020147 <-- ids toggles disattivato nuovo 2
goto :goto_a0
:cond_a2
const v3, 0x502010f <-- ids toggles attivato nuovo 3
const v2, 0x502010e <-- ids toggles disattivato nuovo 3
goto :goto_a0
:cond_a3
const v3, 0x50201bb <-- ids toggles attivato nuovo 4
const v2, 0x50201ba <-- ids toggles disattivato nuovo 4
:goto_a0
Modificare i cond_x e goto_x successivi
Verso la fine del metodo cambiate come segue:
codice:
iput v2, p0, Lcom/wanam/systemui/quickpanel/BluetoothButton;->mIcon_off:I
goto :goto_1
nop
:pswitch_data_0
.packed-switch 0x1
:pswitch_2
:pswitch_1
Segue...
Aprite PowerButton.smali e aggiungete la riga in rosso
codice:
.field protected mIcon:I
.field protected mIcon_off:I
Aggiungete i seguienti metodi
codice:
.method static synthetic access$001(Lcom/wanam/systemui/quickpanel/PowerButton;II)V
.locals 0
invoke-direct {p0, p1, p2}, Lcom/wanam/systemui/quickpanel/PowerButton;->updateImageView2(II)V
return-void
.end method
.method static synthetic access$002(Lcom/wanam/systemui/quickpanel/PowerButton;II)V
.locals 0
invoke-direct {p0, p1, p2}, Lcom/wanam/systemui/quickpanel/PowerButton;->updateImageView3(II)V
return-void
.end method
.method static synthetic access$003(Lcom/wanam/systemui/quickpanel/PowerButton;II)V
.locals 0
invoke-direct {p0, p1, p2}, Lcom/wanam/systemui/quickpanel/PowerButton;->updateImageView4(II)V
return-void
.end method
Modificate il .method private updateImageView(II)V
modificate il local come segue
e aggiungete la parte rossa
codice:
invoke-virtual {v0, p2}, Landroid/widget/ImageView;->setImageResource(I)V
invoke-virtual {v0}, Landroid/widget/ImageView;->getContext()Landroid/content/Context;
move-result-object v3
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "toggles_color"
const v1, -0x100
invoke-static {v3, v4, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v3
invoke-virtual {v0, v3}, Landroid/widget/ImageView;->setColorFilter(I)V
return-void
.end method
aggiungete i seguenti metodi
codice:
.method private updateImageView2(II)V
.locals 6
iget-object v1, p0, Lcom/wanam/systemui/quickpanel/PowerButton;->mView:Landroid/view/View;
invoke-virtual {v1, p1}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/ImageView;
invoke-virtual {v0, p2}, Landroid/widget/ImageView;->setImageResource(I)V
invoke-virtual {v0}, Landroid/widget/ImageView;->getContext()Landroid/content/Context;
move-result-object v3
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "toggles_color_btn_on"
const v1, -0x100
invoke-static {v3, v4, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v3
invoke-virtual {v0, v3}, Landroid/widget/ImageView;->setColorFilter(I)V
return-void
.end method
.method private updateImageView3(II)V
.locals 6
iget-object v1, p0, Lcom/wanam/systemui/quickpanel/PowerButton;->mView:Landroid/view/View;
invoke-virtual {v1, p1}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/ImageView;
invoke-virtual {v0, p2}, Landroid/widget/ImageView;->setImageResource(I)V
invoke-virtual {v0}, Landroid/widget/ImageView;->getContext()Landroid/content/Context;
move-result-object v3
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "toggles_color_btn_off"
const v1, -0x100
invoke-static {v3, v4, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v3
invoke-virtual {v0, v3}, Landroid/widget/ImageView;->setColorFilter(I)V
return-void
.end method
.method private updateImageView4(II)V
.locals 6
iget-object v1, p0, Lcom/wanam/systemui/quickpanel/PowerButton;->mView:Landroid/view/View;
invoke-virtual {v1, p1}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/ImageView;
invoke-virtual {v0, p2}, Landroid/widget/ImageView;->setImageResource(I)V
invoke-virtual {v0}, Landroid/widget/ImageView;->getContext()Landroid/content/Context;
move-result-object v3
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "toggles_color_off"
const v1, -0x100
invoke-static {v3, v4, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v3
invoke-virtual {v0, v3}, Landroid/widget/ImageView;->setColorFilter(I)V
return-void
.end method
.method protected updateBgToggles()V
.locals 7
iget-object v2, p0, Lcom/wanam/systemui/quickpanel/PowerButton;->mView:Landroid/view/View;
const v0, 0x5060019
invoke-virtual {v2, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v2
check-cast v2, Landroid/widget/FrameLayout;
invoke-virtual {v2}, Landroid/widget/FrameLayout;->getContext()Landroid/content/Context;
move-result-object v3
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "toggles_bg_color"
const v1, -0x100
invoke-static {v3, v4, v1}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v3
invoke-virtual {v2, v3}, Landroid/view/View;->setBackgroundColor(I)V
return-void
.end method
Modificate il .method protected updateText()V
codice:
invoke-virtual {v1, v2}, Landroid/widget/TextView;->setText(I)V
invoke-virtual {v1}, Landroid/widget/TextView;->getContext()Landroid/content/Context;
move-result-object v2
invoke-virtual {v2}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v2
const-string v3, "toggles_text_color"
const v4, -0x100
invoke-static {v2, v3, v4}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v5
invoke-virtual {v1, v5}, Landroid/widget/TextView;->setTextColor(I)V
Segue...
Aprite il file PowerButton$1.smali
.method public handleMessage(Landroid/os/Message;)V
[code]
.locals 4
this$0:Lcom/wanam/systemui/quickpanel/PowerButton;
iget-object v2, v2, Lcom/wanam/systemui/quickpanel/PowerButton;->mView:Landroid/view/View;
if-eqz v2, :cond_0 updateText()V
iget-object v2, p0, Lcom/wanam/systemui/quickpanel/PowerButton$1;->this$0:Lcom/wanam/systemui/quickpanel/PowerButton;
invoke-virtual {v2}, Lcom/wanam/systemui/quickpanel/PowerButton;->updateBgToggles()V
iget v2, v2, Lcom/wanam/systemui/quickpanel/PowerButton;->mState:I
packed-switch v2, :pswitch_data_0
iget-object v2, p0, Lcom/wanam/systemui/quickpanel/PowerButton$1;->this$0:Lcom/wanam/systemui/quickpanel/PowerButton;
iget-object v4, v2, Lcom/wanam/systemui/quickpanel/PowerButton;->mView:Landroid/view/View;
invoke-virtual {v4}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v4
invoke-virtual {v4}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v5, "toggles_led_chooser"
const v6, 0x0
invoke-static {v4, v5, v6}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v4
const v5, 0x1
if-eq v5, v4, :cond_0
const v5, 0x2
if-eq v5, v4, :cond_1
const v5, 0x3
if-eq v5, v4, :cond_2
const v5, 0x4
if-eq v5, v4, :cond_3
const v5, 0x5
if-eq v5, v4, :cond_4
const v3, 0x5020080 [COLOR="#0000CD"]
Aggiungete i seguenti metodi:
codice:
.method static synthetic access$400(Lcom/wanam/systemui/quickpanel/PowerWidget;)V
.locals 0
invoke-static {}, Lcom/wanam/systemui/quickpanel/PowerButton;->updateAllButtons()V
return-void
.end method
.method private regObserver(Landroid/content/ContentResolver;)V
.locals 3
.parameter "cs"
.prologue
const/4 v2, 0x0
new-instance v0, Lcom/wanam/systemui/quickpanel/PowerWidget$SettingsObserver;
new-instance v1, Landroid/os/Handler;
invoke-direct {v1}, Landroid/os/Handler;-><init>()V
invoke-direct {v0, p0, p0, v1}, Lcom/wanam/systemui/quickpanel/PowerWidget$SettingsObserver;-><init>(Lcom/wanam/systemui/quickpanel/PowerWidget;Lcom/wanam/systemui/quickpanel/PowerWidget;Landroid/os/Handler;)V
.local v0, ob:Lcom/wanam/systemui/quickpanel/PowerWidget$SettingsObserver;
const-string v1, "toggles_chooser"
invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {p1, v1, v2, v0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
return-void
.end method
.method private regObserver2(Landroid/content/ContentResolver;)V
.locals 3
.parameter "cs"
.prologue
const/4 v2, 0x0
new-instance v0, Lcom/wanam/systemui/quickpanel/PowerWidget2$SettingsObserver;
new-instance v1, Landroid/os/Handler;
invoke-direct {v1}, Landroid/os/Handler;-><init>()V
invoke-direct {v0, p0, p0, v1}, Lcom/wanam/systemui/quickpanel/PowerWidget2$SettingsObserver;-><init>(Lcom/wanam/systemui/quickpanel/PowerWidget;Lcom/wanam/systemui/quickpanel/PowerWidget;Landroid/os/Handler;)V
.local v0, ob:Lcom/wanam/systemui/quickpanel/PowerWidget2$SettingsObserver;
const-string v1, "toggles_color"
invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {p1, v1, v2, v0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
return-void
.end method
.method private regObserver3(Landroid/content/ContentResolver;)V
.locals 3
.parameter "cs"
.prologue
const/4 v2, 0x0
new-instance v0, Lcom/wanam/systemui/quickpanel/PowerWidget3$SettingsObserver;
new-instance v1, Landroid/os/Handler;
invoke-direct {v1}, Landroid/os/Handler;-><init>()V
invoke-direct {v0, p0, p0, v1}, Lcom/wanam/systemui/quickpanel/PowerWidget3$SettingsObserver;-><init>(Lcom/wanam/systemui/quickpanel/PowerWidget;Lcom/wanam/systemui/quickpanel/PowerWidget;Landroid/os/Handler;)V
.local v0, ob:Lcom/wanam/systemui/quickpanel/PowerWidget3$SettingsObserver;
const-string v1, "toggles_color_off"
invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {p1, v1, v2, v0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
return-void
.end method
.method private regObserver4(Landroid/content/ContentResolver;)V
.locals 3
.parameter "cs"
.prologue
const/4 v2, 0x0
new-instance v0, Lcom/wanam/systemui/quickpanel/PowerWidget4$SettingsObserver;
new-instance v1, Landroid/os/Handler;
invoke-direct {v1}, Landroid/os/Handler;-><init>()V
invoke-direct {v0, p0, p0, v1}, Lcom/wanam/systemui/quickpanel/PowerWidget4$SettingsObserver;-><init>(Lcom/wanam/systemui/quickpanel/PowerWidget;Lcom/wanam/systemui/quickpanel/PowerWidget;Landroid/os/Handler;)V
.local v0, ob:Lcom/wanam/systemui/quickpanel/PowerWidget4$SettingsObserver;
const-string v1, "toggles_color_btn_on"
invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {p1, v1, v2, v0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
return-void
.end method
.method private regObserver5(Landroid/content/ContentResolver;)V
.locals 3
.parameter "cs"
.prologue
const/4 v2, 0x0
new-instance v0, Lcom/wanam/systemui/quickpanel/PowerWidget5$SettingsObserver;
new-instance v1, Landroid/os/Handler;
invoke-direct {v1}, Landroid/os/Handler;-><init>()V
invoke-direct {v0, p0, p0, v1}, Lcom/wanam/systemui/quickpanel/PowerWidget5$SettingsObserver;-><init>(Lcom/wanam/systemui/quickpanel/PowerWidget;Lcom/wanam/systemui/quickpanel/PowerWidget;Landroid/os/Handler;)V
.local v0, ob:Lcom/wanam/systemui/quickpanel/PowerWidget5$SettingsObserver;
const-string v1, "toggles_color_btn_off"
invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {p1, v1, v2, v0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
return-void
.end method
.method private regObserver6(Landroid/content/ContentResolver;)V
.locals 3
.parameter "cs"
.prologue
const/4 v2, 0x0
new-instance v0, Lcom/wanam/systemui/quickpanel/PowerWidget6$SettingsObserver;
new-instance v1, Landroid/os/Handler;
invoke-direct {v1}, Landroid/os/Handler;-><init>()V
invoke-direct {v0, p0, p0, v1}, Lcom/wanam/systemui/quickpanel/PowerWidget6$SettingsObserver;-><init>(Lcom/wanam/systemui/quickpanel/PowerWidget;Lcom/wanam/systemui/quickpanel/PowerWidget;Landroid/os/Handler;)V
.local v0, ob:Lcom/wanam/systemui/quickpanel/PowerWidget6$SettingsObserver;
const-string v1, "toggles_text_color"
invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {p1, v1, v2, v0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
return-void
.end method
.method private regObserver7(Landroid/content/ContentResolver;)V
.locals 3
.parameter "cs"
.prologue
const/4 v2, 0x0
new-instance v0, Lcom/wanam/systemui/quickpanel/PowerWidget7$SettingsObserver;
new-instance v1, Landroid/os/Handler;
invoke-direct {v1}, Landroid/os/Handler;-><init>()V
invoke-direct {v0, p0, p0, v1}, Lcom/wanam/systemui/quickpanel/PowerWidget7$SettingsObserver;-><init>(Lcom/wanam/systemui/quickpanel/PowerWidget;Lcom/wanam/systemui/quickpanel/PowerWidget;Landroid/os/Handler;)V
.local v0, ob:Lcom/wanam/systemui/quickpanel/PowerWidget7$SettingsObserver;
const-string v1, "toggles_led_chooser"
invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {p1, v1, v2, v0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
return-void
.end method
.method private regObserver8(Landroid/content/ContentResolver;)V
.locals 3
.parameter "cs"
.prologue
const/4 v2, 0x0
new-instance v0, Lcom/wanam/systemui/quickpanel/PowerWidget8$SettingsObserver;
new-instance v1, Landroid/os/Handler;
invoke-direct {v1}, Landroid/os/Handler;-><init>()V
invoke-direct {v0, p0, p0, v1}, Lcom/wanam/systemui/quickpanel/PowerWidget8$SettingsObserver;-><init>(Lcom/wanam/systemui/quickpanel/PowerWidget;Lcom/wanam/systemui/quickpanel/PowerWidget;Landroid/os/Handler;)V
.local v0, ob:Lcom/wanam/systemui/quickpanel/PowerWidget8$SettingsObserver;
const-string v1, "toggles_bg_color"
invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {p1, v1, v2, v0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
Aggiungete gli observer scaricati da QUI e copiateli in com/wanam/systemui/quickpanel/
Ricompilate il SecSettings, il SystemUI e la Lidroid-res e inseriteli nel device.