no, in questa parte tu non dovresti fare altro che aggiungere quella del dialer che tu dici che è uguale e poi fare come ti ho detto nel post precedente
gino66 (02-09-14)
e qua che mi perdo .line 1088
:cond_1a
const-string v2, "contextualpage_settings"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/ObjectZ
move-result v0
if-eqz v0, :cond_1f
.line 1089
check-cast p2, Ljava/lang/Boolean;
invoke-virtual {p2}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
if-eqz v0, :cond_1b qua e dove dovrebbe venire dialer chooser ma ce una funzione di rattle
s7 edge tematissimo gino66
no ,devi modificare qui if-eqz v0, :cond_1f, al posto del :cond_1f metti il tuo cond, per esempio :cond_gino, e poi fai come l' altra volta,
metti la nuova funzione
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_gino iget-object v1, p0, Lcom/android/settings/DisplaySettings;->mDialerChooser:Landroid/preference/ListPreference; if-ne p1, v1, :cond_2 qua devi mettere il cond della funzione successiva, che nel tuo caso è quella di reattle check-cast p2, Ljava/lang/String; invoke-static {p2}, Ljava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer; move-result-object v1 invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I move-result v0 invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver; move-result-object v1 const-string v2, "dialer_chooser" invoke-static {v1, v2, v0}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z goto/16 :goto_4 :cond_reattle
gino66 (02-09-14)
Scusate il ritardo....impegni...ed anche la mia metà chr mi ha tenuto parecchio al telefono.
Gino...mi sa che forse sovresti cambiare anche il nome del key: "notification_panel_bg_chooser" in display.xml e riportare lo stesso nuovo nome nel codice smali.
Quel nome l'ho già utilizzato io per la listPreference tra le tendine statiche/animate![]()
gino66 (02-09-14)
nicola78 (02-09-14),rattlehead (02-09-14)
gino66 (02-09-14),rattlehead (02-09-14)
Bravo Gino vedi che alla fine ne sei venuto a capo.
Nicola ora tocca a me...come anticipato...per quanto riguarda il tasto del carrier nelle notifiche mi servirebbe una mano...se non disturdo...sicuramente tu ci metti 5 minuti a risolvere e mi risparmi qualche riavvio!
Per quel che riguarda il SecSettings solito discorso:
display_setting.xml
array.xmlcodice:<com.loser.colorpicker.ColorPickerPreference android:persistent="false" android:title="@string/notification_carrier_color_title" android:key="carrier_label_color" android:summary="@string/notification_carrier_color_summary" android:defaultValue="0xffffffff" alphaSlider="true" />
display_setting.smalicodice:<string name="notification_carrier_color_title">Testo Carrier</string> <string name="notification_carrier_color_summary">Scegli il colore del testo del carrier</string>
.method private updateState()Vcodice:.field private mBrightnessPreference:Lcom/android/settings/BrightnessPreference; .field mCarrierBGColor:Lcom/loser/colorpicker/ColorPickerPreference; .field private mContextualPage:Landroid/preference/SwitchPreferenceScreen;
.method public onCreate(Landroid/os/Bundlecodice: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 qui ho aggiunto il codice per la barre della luminosità :goto_2 qui ho aggiunto il codice per il traffico sulla statusbar :goto_3 invoke-virtual {v0, v5, v3}, Lcom/loser/colorpicker/ColorPickerPreference;->onSetInitialValue(ZLjava/lang/Object;)V iget-object v0, p0, Lcom/android/settings/DisplaySettings;->mCarrierBGColor:Lcom/loser/colorpicker/ColorPickerPreference; invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver; move-result-object v3 const-string v4, "carrier_label_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, 0x0V
.method public onPreferenceChange(Landroid/preference/Preference;Ljava/lang/Objectcodice:.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, "carrier_label_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;->mCarrierBGColor:Lcom/loser/colorpicker/ColorPickerPreference; iget-object v12, p0, Lcom/android/settings/DisplaySettings;->mCarrierBGColor:Lcom/loser/colorpicker/ColorPickerPreference; invoke-virtual {v12, p0}, Lcom/loser/colorpicker/ColorPickerPreference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)VZ
codice:const-string v3, "noti_summary_text_color" invoke-static {v2, v3, v1}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z :cond_10 const-string v2, "carrier_label_color" invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v2 if-eqz v2, :cond_11 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, "carrier_label_color" invoke-static {v2, v3, v1}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z goto/16 :goto_4 :cond_11 ed ho incrementato gli altri :cond_x+1
gino66 (02-09-14)
Nel SystemUi ho qualche problema...ho provato a gestirlo dal CarrierLabel.smali cosi:
Creato la classe CarrierLabel$SettingsObserver.smali fatta cosi:
CarrierLabel.smalicodice:.class Lcom/android/systemui/statusbar/phone/CarrierLabel/CarrierLabel$SettingsObserver; .super Landroid/database/ContentObserver; .source "CarrierLabel.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/android/systemui/statusbar/phone/CarrierLabel; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x0 name = "SettingsObserver" .end annotation # instance fields .field final synthetic this$0:Lcom/android/systemui/statusbar/phone/CarrierLabel; # direct methods .method constructor <init>(Lcom/android/systemui/statusbar/phone/CarrierLabel;Landroid/os/Handler;)V .locals 0 iput-object p1, p0, Lcom/android/systemui/statusbar/phone/CarrierLabel$SettingsObserver;->this$0:Lcom/android/systemui/statusbar/phone/CarrierLabel; invoke-direct {p0, p2}, Landroid/database/ContentObserver;-><init>(Landroid/os/Handler;)V return-void .end method # virtual methods .method observe()V .locals 3 iget-object v1, p0, Lcom/android/systemui/statusbar/phone/CarrierLabel$SettingsObserver;->this$0:Lcom/android/systemui/statusbar/phone/CarrierLabel; #getter for: Lcom/android/systemui/statusbar/phone/CarrierLabel;->mContext:Landroid/content/Context; invoke-static {v1}, Lcom/android/systemui/statusbar/phone/CarrierLabel;->access$500(Lcom/android/systemui/statusbar/phone/CarrierLabel;)Landroid/content/Context; move-result-object v1 invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object v0 const-string v1, "carrier_label_color" invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri; move-result-object v1 const/4 v2, 0x0 invoke-virtual {v0, v1, v2, p0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V return-void .end method .method public onChange(Z)V .locals 1 iget-object v0, p0, Lcom/android/systemui/statusbar/phone/CarrierLabel$SettingsObserver;->this$0:Lcom/android/systemui/statusbar/phone/CarrierLabel; #calls: Lcom/android/systemui/statusbar/phone/CarrierLabel;->updateCarrierColor()V invoke-static {v0}, Lcom/android/systemui/statusbar/phone/CarrierLabel;->access$600(Lcom/android/systemui/statusbar/phone/CarrierLabel;)V return-void .end method
Aggiunto due nuovi metodi statici:codice:.field private final mIntentReceiver:Landroid/content/BroadcastReceiver; .field private mCarrierColor:I .field private mLastCB:Ljava/lang/String;
Creato un nuovo metodo in questo modo:codice:.method static synthetic access$500(Lcom/android/systemui/statusbar/phone/CarrierLabel;)Landroid/content/Context; .locals 1 iget-object v0, p0, Lcom/android/systemui/statusbar/phone/CarrierLabel;->mContext:Landroid/content/Context; return-object v0 .end method .method static synthetic access$600(Lcom/android/systemui/statusbar/phone/CarrierLabel;)V .locals 1 invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/CarrierLabel;->updateCarrierColor()V return-void .end method
Nel metodo .method protected onAttachedToWindow()V ho aggiunto questo:codice:.method private updateCarrierColor()V .locals 6 const/4 v3, 0x0 const/4 v2, 0x1 iget-object v4, p0, Lcom/android/systemui/statusbar/phone/CarrierLabel;->mContext:Landroid/content/Context; invoke-virtual {v4}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object v1 const/4 v0, 0x0 const-string v4, "carrier_label_color" iget v5, p0, Lcom/android/systemui/statusbar/phone/CarrierLabel;->mCarrierColor:I invoke-static {v1, v4, v5}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I move-result v0 if-gez v0, :cond_0 iget v4, p0, Lcom/android/systemui/statusbar/phone/CarrierLabel;->mCarrierColor:I if-eq v0, v4, :cond_0 iput v0, p0, Lcom/android/systemui/statusbar/phone/CarrierLabel;->mCarrierColor:I iget v4, p0, Lcom/android/systemui/statusbar/phone/CarrierLabel;->mCarrierColor:I invoke-virtual {p0, v4}, Lcom/android/systemui/statusbar/phone/CarrierLabel;->setTextColor(I)V :cond_0 return-void .end method
Ed alla fine del metodocodice:.line 83 const/4 v1, 0x1 iput-boolean v1, p0, Lcom/android/systemui/statusbar/phone/CarrierLabel;->mAttached:Z invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/CarrierLabel;->getTextColors()Landroid/content/res/ColorStateList; move-result-object v1 invoke-virtual {v1}, Landroid/content/res/ColorStateList;->getDefaultColor()I move-result v1 iput v1, p0, Lcom/android/systemui/statusbar/phone/CarrierLabel;->mCarrierColor:I .line 84 new-instance v0, Landroid/content/IntentFilter; invoke-direct {v0}, Landroid/content/IntentFilter;-><init>()V
Ma non cambia nulla!!! L'ho fatta troppo complicata??codice::cond_0 invoke-direct {p0}, Lcom/android/systemui/statusbar/phone/CarrierLabel;->updateCarrierColor()V return-void .end method
Nel PhoneStatusBar.smali ho trovato ids del carrier_label, ho provato a fare alcune modifiche ma mi crashava per failed newIstance.....
Edit: che dici ho fatto un macello!???codice:.line 797 iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mStatusBarView:Lcom/android/systemui/statusbar/phone/PhoneStatusBarView; const v10, 0x7f0d00d7 <---- ids carrier_label invoke-virtual {v9, v10}, Lcom/android/systemui/statusbar/phone/PhoneStatusBarView;->findViewById(I)Landroid/view/View; move-result-object v9 check-cast v9, Landroid/widget/TextView;![]()
Ultima modifica di rattlehead; 02-09-14 alle 20:14
nicola78 (02-09-14)
Se ho capito bene vuoi lavorare su questa parte evidenziata in rosso giusto?
Screenshot_2014-09-02-20-17-51.jpg
gino66 (02-09-14)