Perfetto Nicola!! O quasi!! o_O
Il SystemUI ora non crasha più però non mi modifica nulla.
A questo punto ti dico le modifiche che ho apportato.
SecSettings.apk
display_settings.xml
Elinimate le righe riguardanti i CheckBoxPreference
DisplaySettings.smali
# instance fields
Elinimate le righe riguardanti i CheckBoxPreference
.method private updateState()V
Come da guida
.method public onCreate(Landroid/os/Bundle)V
Omesse le righe riguardanti: signal_bg_state; wifi_bg_state; data_connection_bg_state
.method public onPreferenceChange
Come da guida
.method public onPreferenceTreeClick
.method public onResume()V
Metodi non modificati
SystemUI. apk
SignalClusterView.smali
# instance fields
Rinominate le variabili eliminando la parola "random"
es. .field private mWifiRandomColor:I -> .field private mWifiColor:I
.method private apply()V
.line 188; .line 208; .line 210
Stesso discorso...rinominate le chiamate alle funzioni funzioni e alle variabili.
Qui ho provato anche ad omettere le ultime due righe ma il risultato non è cambiato.
codice:
invoke-virtual {p0}, Lcom/android/systemui/statusbar/SignalClusterView;->set_wifi_color()V
iget v11, p0, Lcom/android/systemui/statusbar/SignalClusterView;->mWifiColor:I
sget-object v12, Landroid/graphics/PorterDuff$Mode;->MULTIPLY:Landroid/graphics/PorterDuff$Mode;
invoke-virtual {v4, v11, v12}, Landroid/widget/ImageView;->setColorFilter(ILandroid/graphics/PorterDuff$Mode;)V
.method protected onAttachedToWindow()V
Uguale...uniche modifiche ovviamente...rinominate le chiamate alle funzioni
codice:
invoke-virtual {p0}, Lcom/android/systemui/statusbar/SignalClusterView;->set_signal_color()V
invoke-virtual {p0}, Lcom/android/systemui/statusbar/SignalClusterView;->set_wifi_color()V
invoke-virtual {p0}, Lcom/android/systemui/statusbar/SignalClusterView;->set_data_connection_color()V
Le
funzioni le ho modificate cosi
[code]
.method set_signal_color()V
.locals 13
iget-object v6, p0, Lcom/android/systemui/statusbar/SignalClusterView;->mMobile:Landroid/widget/ImageView;
invoke-virtual {v6}, Landroid/widget/ImageView;->getContext()Landroid/content/Context;
move-result-object v6
invoke-virtual {v6}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v6
const-string v7, "signal_color"
const v8, -0x1
invoke-static {v6, v7, v8}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
goto :goto_1
:goto_1
iput v0, p0, Lcom/android/systemui/statusbar/SignalClusterView;->mSignalColor:I
return-void
.end method
[code]
SignalClusterView$SettingsObserver.smali
.method observe()V
Eliminate le righe riguardanti: signal_bg_state; wifi_bg_state; data_connection_bg_state
.method public onChange(ZLandroid/net/Uri;)V
Rinominate le chiamate alle funzioni: set_signal_color()V ; etc.
Edit. Ho provato ad inserire anche il systemUI completo identico alla guida ma uguale..non cambia.
Quindi il problema dovrabbe essere nel settings.
Edit. Nelle funzioni il "salto" al :goto_1 mi pare superfluo. Che ne pensi?