Forse ci siamo , domani con più calma e tempo testo la cosa:p:p:p
Visualizzazione stampabile
Ciao Nicola! Ora non va più in crash.;)
Però mi succede una cosa strana...quando cambio un colore la tandina mi diventa nera invece di rimanere trasparente e gli sfondi delle notifiche non si modificano!
Ri ricontrollato sia il secSettings che il systemUi e mi pare tutto ok.
Magari aspetto che finisci i tuoi test e poi riparto da zero.
Ho verificato la guida con i miei file e mi sembra tutto a posto
Ma gli sfondi delle notifiche non cambiano neanche una volta?
Prova con questa verifica:
attacca con cavetto usb il cell al pc ,cambia lo sfondo dell'ongoing,verifica se è cambiato(non dovrebbe essere cambiato),scollega il cell dal pc e ricollegalo, verifica se lo sfondo è cambiato(ora dovrebbe essere cambiato.
Per lo sfondo della tendina mi sembra strano
Dopo averlo collegato al pc ha preso a funzionare. :thumbup:
Ho notato però che se si riavvia non rimangono memorizzare le scelte come invece avviene con la statusbar...mi ritorna pure la tendina trasparente...ma come reimposto...la tendina torna nera ma stavolta il colore di sfondo delle notifiche cambia senza doverlo ricollegare al pc.
Strana sta cosa della tendina. :confused:
Ps. Mi è sparito l'audio della bootanimation!
Edit. È cambiato al primo collegamento :)
Per quanto riguarda lo sfondo delle notifiche quindi confermi tutto ok?
Io quando riavvio mi ritrovo lo sfondo della barra della luminosità nera mentro ce l'ho impostata trasparente, però se la risetto , cambia in tempo reale,
e questo succede solo se riavvio e non riesco a capire il perchè.
Per quanto riguarda la bootanimation io non centro niente eh:D
Invece per quanto riguarda il testo delle notifiche mi funziona solo quella per le notifiche in corso , con le altre ho dei problemi
Ci sono quasi , ultimi test, un dubbio :come vuoi che vengano gestiti i testi? , guarda in figura per capire cosa intendo:D
Allegato 109545
Ragazzi sapete per caso come si chiama il png che controlla "le levette" on off nelle impostazioni? (per intenderci, quelle affianco a wi-fi e bluethoot)
Sei il mio mito!! :D Sapevo che ci saresti riuscito. Meglio separatamente secondo me! ;)
Io però tengo sempre il problema della tendina che mi cambia lo sfondo in nero con qualsiasi metodo io usi :'(
Per ora ho provato a rifare il tutto escludendo i primi due metodi ma non ho ottenuto cambiamenti appena posso volevo provare con i soli primi due...se non funziona boh toccherà che mi passi i tuoi file cosi lo testo prima senza l'implementazione della lidroid e modifiche varie...sempre che tu sia d'accordo ovviamente.
Ciao e complimenti...davvero un grande lavoro!!
Ok vada per la gestione separata , ma dovrai attendere ancora un pò , ho notato qualcosa che non mi piace.
Per quanto riguarda la tendina non ho una soluzione , ma una mod che se funzionasse nel tuo SystemUI aggirerebbe il problema, e cioe cambiare in tempo reale colore e trasparenza della tendina. Io l'ho implementata e funziona benissimo.
[GUIDA][Mod]Cambiare il colore e la trasparenza del testo delle notifiche
Fare un Nandroid Backup prima di effettuare operazioni di modding
Per realizzare questa mod vi serve:
SecSettings. apk
framework.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
Andare in res/value aprire strings.xml e aggiungere alla fine le seguenti lineecodice:<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/statusbar_expanded_options" >
<PreferenceScreen android:title="@string/expanded_options" android:summary="@string/summary_expanded_options">
<com.loser.colorpicker.ColorPickerPreference android:persistent="false" android:title="@string/notification_text_color_title" android:key="noti_title_text_color" android:summary="@string/notification_text_color_summary" android:defaultValue="0xff000000" alphaSlider="true" />
<com.loser.colorpicker.ColorPickerPreference android:persistent="false" android:title="@string/notification_summary_color_title" android:key="noti_summary_text_color" android:summary="@string/notification_summary_color_summary" android:defaultValue="0xff000000" alphaSlider="true" />
</PreferenceScreen>
</PreferenceCategory>
Andare in res/value-it aprire strings.xml e aggiungere alla fine le seguenti lineecodice:
<string name="statusbar_expanded_options">Statusbar Expanded Options</string>
<string name="notification_text_color_title">Notification Title Text Color</string>
<string name="notification_text_color_summary">Choose notification title text color</string>
<string name="notification_summary_color_title">Notification Text Color</string>
<string name="notification_summary_color_summary">Choose notification text color</string>
Andare in smali\com\android\settings\DisplaySettings.smali cercare le linee con .field e aggiungere le seguenti linee in rossocodice:
<string name="statusbar_expanded_options">Opzioni Statusbar Expanded</string>
<string name="notification_text_color_title">Titolo Notifica</string>
<string name="notification_text_color_summary">Scegli il colore del titolo delle notifiche</string>
<string name="notification_summary_color_title">Testo Notifica</string>
<string name="notification_summary_color_summary">Scegli il colore del testo delle notifiche</string>
Nello stesso file trovare .method private updateState()V e aggiungere le seguenti linee in rossocodice:.field private mNotificationPulse:Landroid/preference/CheckBoxPreference;
.field private mNotificationSummaryTextColor:Lcom/loser/colorpicker/ColorPickerPreference;
.field private mNotificationTitleTextColor:Lcom/loser/colorpicker/ColorPickerPreference;
.field private mPowerSavingMode:Landroid/preference/CheckBoxPreference;
Nello stesso file trovare .method public onCreate(Landroid/os/Bundle)V e cercare queste linee e aggiungere quelle in rosso:codice: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;->mNotificationTitleTextColor:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "noti_title_text_color"
const v5, -0xffffff
invoke-static {v3, v4, v5}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v3
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
const/16 v5, 0x0
invoke-virtual {v0, v5, v3}, Lcom/loser/colorpicker/ColorPickerPreference;->onSetInitialValue(ZLjava/lang/Object;)V
iget-object v0, p0, Lcom/android/settings/DisplaySettings;->mNotificationSummaryTextColor:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "noti_summary_text_color"
const v5, -0xffffff
invoke-static {v3, v4, v5}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v3
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
const/16 v5, 0x0
invoke-virtual {v0, v5, v3}, Lcom/loser/colorpicker/ColorPickerPreference;->onSetInitialValue(ZLjava/lang/Object;)V
Nello stesso file trovare .method public onPreferenceChange e aggiungere le linee in rosso, nelle linee in blu qualche spiegazionecodice:.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, "noti_title_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;->mNotificationTitleTextColor:Lcom/loser/colorpicker/ColorPickerPreference;
iget-object v12, p0, Lcom/android/settings/DisplaySettings;->mNotificationTitleTextColor:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {v12, p0}, Lcom/loser/colorpicker/ColorPickerPreference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
const-string v12, "noti_summary_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;->mNotificationSummaryTextColor:Lcom/loser/colorpicker/ColorPickerPreference;
iget-object v12, p0, Lcom/android/settings/DisplaySettings;->mNotificationSummaryTextColor:Lcom/loser/colorpicker/ColorPickerPreference;
invoke-virtual {v12, p0}, Lcom/loser/colorpicker/ColorPickerPreference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
Salvare tutti i cambiamenti e ricompilare il SecSettingscodice: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, "noti_title_text_color"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_notification_text_summary_color
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, "noti_title_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_notification_text_summary_color
const-string v2, "noti_summary_text_color"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_q
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, "noti_summary_text_color"
invoke-static {v2, v3, v1}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
:cond_q
const-string v2, "quick_launch"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_c
Parte con il framework.jar
Decompilare il framework.jar ,andare in android\app e aprire in file Notification.smali , le modifiche apportate in questo file andranno ad agire sulle notifiche in corso
Allegato 110169
trovare il .method public setLatestEventInfo ed aggiungere le linee in rosso ,in blu qualche spiegazione
Andare in android\app e aprire in file Notification$Builder.smali trovare il .method private applyStandardTemplate ed aggiungere le linee in rosso ,in blu qualche spiegazionecodice:.method public setLatestEventInfo(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V
.registers 15 <---cambiare il valore da 12 a 15
.parameter "context"
.parameter "contentTitle"
.parameter "contentText"
.parameter "contentIntent"
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.
.
.
.
.
:cond_35
if-eqz p2, :cond_3d
.line 929
const v2, 0x1020016 <---assicurarsi che questo id corrisponda al <public type="id" name="title"
nel vostro framework in res/value
invoke-virtual {v0, v2, p2}, Landroid/widget/RemoteViews;->setTextViewText(ILjava/lang/CharSequence;)V
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v7
const-string v8, "noti_title_text_color"
const v9, -0x1
invoke-static {v7, v8, v9}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v7
invoke-virtual {v0, v2, v7}, Landroid/widget/RemoteViews;->setTextColor(II)V
.line 931
:cond_3d
if-eqz p3, :cond_45
.line 932
const v2, 0x1020046 <---assicurarsi che questo id corrisponda al <public type="id" name="text"
nel vostro framework in res/value
invoke-virtual {v0, v2, p3}, Landroid/widget/RemoteViews;->setTextViewText(ILjava/lang/CharSequence;)V
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v7
const-string v8, "noti_summary_text_color"
const v9, -0x1
invoke-static {v7, v8, v9}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v7
invoke-virtual {v0, v2, v7}, Landroid/widget/RemoteViews;->setTextColor(II)V
.line 934
:cond_45
iget-wide v2, p0, Landroid/app/Notification;->when:J
a seguire :lo stesso metodo continua nel prossimo postcodice:.method private applyStandardTemplate(IZZ)Landroid/widget/RemoteViews;
.registers 22
.parameter "resId"
.parameter "fitIn1U"
.parameter "isTickerView"
.prologue
.line 1515
new-instance v1, Landroid/widget/RemoteViews;
move-object/from16 v0, p0
iget-object v2, v0, Landroid/app/Notification$Builder;->mContext:Landroid/content/Context;
invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v2
move/from16 v0, p1
invoke-direct {v1, v2, v0}, Landroid/widget/RemoteViews;-><init>(Ljava/lang/String;I)V
.line 1516
.local v1, contentView:Landroid/widget/RemoteViews;
const/4 v10, 0x0
.line 1517
.local v10, showLine3:Z
const/4 v9, 0x0
.line 1518
.local v9, showLine2:Z
const v11, 0x1020006
.line 1519
.local v11, smallIconImageViewId:I
if-nez p3, :cond_29
move-object/from16 v0, p0
iget-object v2, v0, Landroid/app/Notification$Builder;->mLargeIcon:Landroid/graphics/Bitmap;
if-eqz v2, :cond_29
.line 1520
const v2, 0x1020006
move-object/from16 v0, p0
iget-object v3, v0, Landroid/app/Notification$Builder;->mLargeIcon:Landroid/graphics/Bitmap;
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setImageViewBitmap(ILandroid/graphics/Bitmap;)V
.line 1521
const v11, 0x102024e
.line 1523
:cond_29
move-object/from16 v0, p0
iget v2, v0, Landroid/app/Notification$Builder;->mPriority:I
const/4 v3, -0x1
if-ge v2, v3, :cond_48
.line 1524
const v2, 0x1020006
const-string/jumbo v3, "setBackgroundResource"
const v4, 0x1080a4d
invoke-virtual {v1, v2, v3, v4}, Landroid/widget/RemoteViews;->setInt(ILjava/lang/String;I)V
.line 1526
const v2, 0x10203c2
const-string/jumbo v3, "setBackgroundResource"
const v4, 0x1080556
invoke-virtual {v1, v2, v3, v4}, Landroid/widget/RemoteViews;->setInt(ILjava/lang/String;I)V
.line 1529
:cond_48
move-object/from16 v0, p0
iget v2, v0, Landroid/app/Notification$Builder;->mSmallIcon:I
if-eqz v2, :cond_12b
.line 1530
move-object/from16 v0, p0
iget v2, v0, Landroid/app/Notification$Builder;->mSmallIcon:I
invoke-virtual {v1, v11, v2}, Landroid/widget/RemoteViews;->setImageViewResource(II)V
.line 1531
const/4 v2, 0x0
invoke-virtual {v1, v11, v2}, Landroid/widget/RemoteViews;->setViewVisibility(II)V
.line 1535
:goto_59
move-object/from16 v0, p0
iget-object v2, v0, Landroid/app/Notification$Builder;->mContentTitle:Ljava/lang/CharSequence;
if-eqz v2, :cond_69
.line 1536
const v2, 0x1020016 <---assicurarsi che questo id corrisponda al <public type="id" name="title"
nel vostro framework in res/value
move-object/from16 v0, p0
iget-object v3, v0, Landroid/app/Notification$Builder;->mContentTitle:Ljava/lang/CharSequence;
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setTextViewText(ILjava/lang/CharSequence;)V
move-object/from16 v0, p0
iget-object v3, v0, Landroid/app/Notification$Builder;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v14, "noti_title_text_color"
const v15, -0x1
invoke-static {v3, v14, v15}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v3
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setTextColor(II)V
.line 1538
:cond_69
move-object/from16 v0, p0
iget-object v2, v0, Landroid/app/Notification$Builder;->mContentText:Ljava/lang/CharSequence;
if-eqz v2, :cond_7a
.line 1539
const v2, 0x1020046 <---assicurarsi che questo id corrisponda al <public type="id" name="text"
nel vostro framework in res/value
move-object/from16 v0, p0
iget-object v3, v0, Landroid/app/Notification$Builder;->mContentText:Ljava/lang/CharSequence;
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setTextViewText(ILjava/lang/CharSequence;)V
move-object/from16 v0, p0
iget-object v3, v0, Landroid/app/Notification$Builder;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v14, "noti_summary_text_color"
const v15, -0x1
invoke-static {v3, v14, v15}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v3
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setTextColor(II)V
.line 1540
const/4 v10, 0x1
.line 1542
:cond_7a
move-object/from16 v0, p0
iget-object v2, v0, Landroid/app/Notification$Builder;->mContentInfo:Ljava/lang/CharSequence;
if-eqz v2, :cond_132
.line 1543
const v2, 0x10203c6 <---assicurarsi che questo id corrisponda al <public type="id" name="info"
nel vostro framework in res/value
move-object/from16 v0, p0
iget-object v3, v0, Landroid/app/Notification$Builder;->mContentInfo:Ljava/lang/CharSequence;
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setTextViewText(ILjava/lang/CharSequence;)V
move-object/from16 v0, p0
iget-object v3, v0, Landroid/app/Notification$Builder;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v14, "noti_summary_text_color"
const v15, -0x1
invoke-static {v3, v14, v15}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v3
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setTextColor(II)V
.line 1544
const v2, 0x10203c6
const/4 v3, 0x0
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setViewVisibility(II)V
.line 1545
const/4 v10, 0x1
.line 1563
:goto_92
move-object/from16 v0, p0
iget-object v2, v0, Landroid/app/Notification$Builder;->mSubText:Ljava/lang/CharSequence;
Salvare tutti i cambiamenti e ricompile il framework.jar, quindi mettere il SecSettings.apk e il framework.jar nel vostro dispositivo.codice:if-eqz v2, :cond_194
.line 1564
const v2, 0x1020046 <---assicurarsi che questo id corrisponda al <public type="id" name="text"
nel vostro framework in res/value
move-object/from16 v0, p0
iget-object v3, v0, Landroid/app/Notification$Builder;->mSubText:Ljava/lang/CharSequence;
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setTextViewText(ILjava/lang/CharSequence;)V
move-object/from16 v0, p0
iget-object v3, v0, Landroid/app/Notification$Builder;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v14, "noti_summary_text_color"
const v15, -0x1
invoke-static {v3, v14, v15}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v3
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setTextColor(II)V
.line 1565
move-object/from16 v0, p0
iget-object v2, v0, Landroid/app/Notification$Builder;->mContentText:Ljava/lang/CharSequence;
if-eqz v2, :cond_18a
.line 1566
const v2, 0x1020015 <---assicurarsi che questo id corrisponda al <public type="id" name="text2"
nel vostro framework in res/value
move-object/from16 v0, p0
iget-object v3, v0, Landroid/app/Notification$Builder;->mContentText:Ljava/lang/CharSequence;
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setTextViewText(ILjava/lang/CharSequence;)V
move-object/from16 v0, p0
iget-object v3, v0, Landroid/app/Notification$Builder;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v14, "noti_summary_text_color"
const v15, -0x1
invoke-static {v3, v14, v15}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v3
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setTextColor(II)V
.line 1567
const v2, 0x1020015
const/4 v3, 0x0
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setViewVisibility(II)V
.line 1568
const/4 v9, 0x1
.line 1583
:goto_ba
if-eqz v9, :cond_df
.line 1584
if-eqz p2, :cond_d5
.line 1586
move-object/from16 v0, p0
iget-object v2, v0, Landroid/app/Notification$Builder;->mContext:Landroid/content/Context;
invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v8
.line 1587
.local v8, res:Landroid/content/res/Resources;
const v2, 0x1050055
invoke-virtual {v8, v2}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result v2
int-to-float v12, v2
.line 1589
.local v12, subTextSize:F
const v2, 0x1020046
const/4 v3, 0x0
invoke-virtual {v1, v2, v3, v12}, Landroid/widget/RemoteViews;->setTextViewTextSize(IIF)V
.line 1592
.end local v8 #res:Landroid/content/res/Resources;
.end local v12 #subTextSize:F
:cond_d5
const v2, 0x10203c3
const/4 v3, 0x0
const/4 v4, 0x0
const/4 v5, 0x0
const/4 v6, 0x0
invoke-virtual/range {v1 .. v6}, Landroid/widget/RemoteViews;->setViewPadding(IIIII)V
.line 1595
:cond_df
move-object/from16 v0, p0
iget-wide v2, v0, Landroid/app/Notification$Builder;->mWhen:J
const-wide/16 v4, 0x0
cmp-long v2, v2, v4
if-eqz v2, :cond_118
.line 1596
move-object/from16 v0, p0
iget-boolean v2, v0, Landroid/app/Notification$Builder;->mUseChronometer:Z
if-eqz v2, :cond_1ce
.line 1597
const v2, 0x10203c4
const/4 v3, 0x0
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setViewVisibility(II)V
.line 1598
const v2, 0x10203c4
const-string/jumbo v3, "setBase"
move-object/from16 v0, p0
iget-wide v4, v0, Landroid/app/Notification$Builder;->mWhen:J
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v14
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v16
sub-long v14, v14, v16
add-long/2addr v4, v14
invoke-virtual {v1, v2, v3, v4, v5}, Landroid/widget/RemoteViews;->setLong(ILjava/lang/String;J)V
.line 1600
const v2, 0x10203c4
const-string/jumbo v3, "setStarted"
const/4 v4, 0x1
invoke-virtual {v1, v2, v3, v4}, Landroid/widget/RemoteViews;->setBoolean(ILjava/lang/String;Z)V
.line 1606
:goto_118
const v3, 0x10203c5
if-eqz v10, :cond_1e4
const/4 v2, 0x0
:goto_11e
invoke-virtual {v1, v3, v2}, Landroid/widget/RemoteViews;->setViewVisibility(II)V
.line 1607
const v3, 0x10203ca
if-eqz v10, :cond_1e8
const/4 v2, 0x0
:goto_127
invoke-virtual {v1, v3, v2}, Landroid/widget/RemoteViews;->setViewVisibility(II)V
.line 1608
return-object v1
.line 1533
:cond_12b
const/16 v2, 0x8
invoke-virtual {v1, v11, v2}, Landroid/widget/RemoteViews;->setViewVisibility(II)V
goto/16 :goto_59
.line 1546
:cond_132
move-object/from16 v0, p0
iget v2, v0, Landroid/app/Notification$Builder;->mNumber:I
if-lez v2, :cond_180
.line 1547
move-object/from16 v0, p0
iget-object v2, v0, Landroid/app/Notification$Builder;->mContext:Landroid/content/Context;
invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v2
const v3, 0x10e0003
invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getInteger(I)I
move-result v13
.line 1549
.local v13, tooBig:I
move-object/from16 v0, p0
iget v2, v0, Landroid/app/Notification$Builder;->mNumber:I
if-le v2, v13, :cond_16c
.line 1550
const v2, 0x10203c6
move-object/from16 v0, p0
iget-object v3, v0, Landroid/app/Notification$Builder;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v3
const v4, 0x1040017
invoke-virtual {v3, v4}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setTextViewText(ILjava/lang/CharSequence;)V
.line 1556
:goto_162
const v2, 0x10203c6
const/4 v3, 0x0
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setViewVisibility(II)V
.line 1557
const/4 v10, 0x1
.line 1558
goto/16 :goto_92
.line 1553
:cond_16c
invoke-static {}, Ljava/text/NumberFormat;->getIntegerInstance()Ljava/text/NumberFormat;
move-result-object v7
.line 1554
.local v7, f:Ljava/text/NumberFormat;
const v2, 0x10203c6 <---assicurarsi che questo id corrisponda al <public type="id" name="info"
nel vostro framework in res/value
move-object/from16 v0, p0
iget v3, v0, Landroid/app/Notification$Builder;->mNumber:I
int-to-long v3, v3
invoke-virtual {v7, v3, v4}, Ljava/text/NumberFormat;->format(J)Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setTextViewText(ILjava/lang/CharSequence;)V
move-object/from16 v0, p0
iget-object v3, v0, Landroid/app/Notification$Builder;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v14, "noti_summary_text_color"
const v15, -0x1
invoke-static {v3, v14, v15}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v3
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setTextColor(II)V
goto :goto_162
.line 1559
.end local v7 #f:Ljava/text/NumberFormat;
.end local v13 #tooBig:I
:cond_180
const v2, 0x10203c6
const/16 v3, 0x8
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setViewVisibility(II)V
goto/16 :goto_92
.line 1570
:cond_18a
const v2, 0x1020015
const/16 v3, 0x8
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setViewVisibility(II)V
goto/16 :goto_ba
.line 1573
:cond_194
const v2, 0x1020015
const/16 v3, 0x8
invoke-virtual {v1, v2, v3}, Landroid/widget/RemoteViews;->setViewVisibility(II)V
Sei straordinario Nicola!!!:thumbup::beer::beer::beer::beer:
Salve ragazzi, c'è qualche anima buona che mi sappia ricondurre a una guida (o se sa come fare) per inserire in una rom I9100XWLSW la mod dell'orologio????
Mi spiego meglio, vorrei inserire nel menu impostazioni le seguenti voci:
- clock style (con possibilità di scegliere orologio al centro, a destra e a sinistra nella statusbar)
- AM/PM style
- day of the week
- clock color (con possibilità di scelta del colore da dare all'orologio nella statusbar)
insomma, la classica mod "clock option".
La mod in se per se l'ho trovata, ma non voglio flasharla..... voglio apportare io le modifiche per non perdere quelle che ho gia apportato.
Ringrazio in anticipo.
PS: nicola78 vedo che hai fatto passi da gigante da quando ci scervellavamo a cambiare i png e non riuscivamo a trovarli ;)
complimenti davvero e cmq non solo a nicola ma a tutti coloro che si prodigano a tutto ciò :)
vedi un pò se questa può andar bene [MOD][GUIDE] Clock Statusbar Mod v2.0 - xda-developers
A mio parere si , io non l'ho mai eseguita ma ho visto molte rom che la implementano proprio nell S2, il fatto che sia stata fatta per l S3 in questo caso non dà problemi visto che il codice è di jelly bean 4.1.2, al massimo potrebbe cambiare qualche linea, ma è fattibile
Porca l'oca ragazzi!
Mi ero perso un po' di Post negli ultimi giorni a quanto vedo! Ho recuperato adesso, rilasciando i DO-VE-RO-SI "Thanks".
Innanzitutto un Sentito quanto Sincero Complimento a Nicola.
Ancora una volta si dimostra un Maestro, un agglomerato di Intelligenza, Caparbia, Saggezza ed Umiltà.
Non è affatto semplice auto-costruirsi una "Cultura Moddiaria" di questa portata.
Un altrettanto sentito ringraziamento a Rattle. E per i medesimi motivi.
Il Thread della sua Rom è diventato un Fantastico luogo di ritrovo, di scambi di pareri, opinioni.
Il Team cresce ad appagante dismisura: e in termini di numero di Partecipanti, e in termini di Evoluzione della stessa sua Creatura.
Felice di avere acquistato un GS2 per avervi conosciuto! :)
Edit: Mi si scusi l'OT, ma era doveroso.
Nicola mi servono i tuoi superpoteri!! rotfl :)
Ho applicato la guida per modificare il testo delle notifiche in tempo reale partendo dal secSetting pulito, ossia con solo la mod per modificare il colore della statusbar.
Il problema è che mi va in crash il menu impostazioni come cerco di accedere alle opzioni dello schermo.
Il testo delle notifiche applicando solo il framework cambia da bianco a nero quindi quella parte sembra non avere problemi...ripristinando solo il display_setting.smali sono riuscito ad accedere alle opzioni schermo con le nuove voci che ovviamente non funzionano.
QUI ti allego un paio catlog e lo smali decompilato se ti va di vedere perchè non va.
Grazie per tutto...ciaoooo
Ciao rattle, nei log che hai postato non ho trovato niente che faccia riferimento sia al SecSettings e sia al framework.
L'unica cosa strana che ho notato nel tuo DisplaySettings.smali è questa parte di codice in rosso
dovresti avere un cond_ che ti porti a questa parte di codice , sempre nello stesso metodo:codice::cond_statusbar_bg
const-string v2, "statusbar_color"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_b
invoke-static {p2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
const-string v1, "^#"
const-string v3, ""
invoke-virtual {v2, v1, v3}, Ljava/lang/String;->replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v1
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v2
const-string v3, "statusbar_color"
invoke-static {v2, v3, v1}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto/16 :goto_4
:cond_b questo penso sia giusto
const-string v2, "quick_launch"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_b questo dovrebbe avere un'altra lettera ,perchè lasciandolo
cosi ti riporta sempre al cond_b di sopra
.line 1069
check-cast p2, Ljava/lang/String;
invoke-static {p2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
.line 1071
:try_start_3
codice:
.line 1080
:cond_c
const-string v2, "key_backlight"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_d
.line 1081
check-cast p2, Ljava/lang/String;
invoke-static {p2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
.line 1083
:try_start_4
invoke-virtual {p0}, Lcom/android/settings/DisplaySettings;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v1
const-string v2, "key_backlight_timeout"
Grazie per la pronta risposta.
In effetti nemmeno io ho notato che nei log non c'era nulla che si riferisse direttamente a quelle apk pur avendo generato il crash un paio di volte.
Il primo cond_b lo presi dalla guida della per i colori della statusbar e così l'ho lasciato non avendo riscontrato problemi....non mi ero accorro del secondo cond_b.
Ok, grazie ancora...ora vedo.
Risolto!!! :thumbup::beer::beer::beer:
È bastato sistemare le condizioni che mi hai segnalato.
Può essere che fosse quello il problema dello sfondo della tendina che diventava tutta nera?
Non vedo l'ora di riprovarci! :p
http://img.tapatalk.com/d/14/05/12/ubuvemyv.jpg
Edit. Dimenticavo....grazie per gli auguri per la promozione :)
non credo che sia quello il problema con la tendina, ora che ci penso, ma per renderla trasparente hai modificato il valore in android:background?
se si prova a rendere trasparente il png notification_panel_bg.9, perchè il codice della mod va a lavorare con quella immagine.
non ti assicuro la risoluzione del problema ,però tentare non nuoce,:p noo
No...per la trasparenza della tendina modifico l'immagine. Quella del post sopra è una tendina animata...chissà se andrà bene...ora ho finito di modificare il settings con le mod per gestire le altre parti della statusbar expanded domani vado avanti con il resto e vediamo che salta fuori. rotfl
Bella Nicolaaaaa!!!:thumbup::thumbup::beer::beer::beer:
Devo dirti che la mod per modificare le parti della statusbar_expanded è andata a meraviglia con la tendina animata... :cool: ...ho usato le trasparenze spero si capisca.:)
http://img.tapatalk.com/d/14/05/12/ysaqe3az.jpg
Ho quasi il terrore a provare con la tendina statica...:p
Certo peccato per il testo della prima notifica.
Scusa se te lo chiedo...ma l'id info (0x10203c6) hai provato a modificarlo separatamente con un terzo colorpicker?
Ciao Grande Nicola.
Purtroppo non è quello il problema , in fondo gestire quell'id con un diverso colorpicker non cambia niente, non puoi immaginare (o forse si)quante combinazioni ho provato, il problema sta nel funzionamento della visualizzazione delle notifiche.
Per la tendina invece, hai già provato a cambiare anche il valore in android:background?