Nicola Presidente!!! SUBITO!!! :D :D :D
Visualizzazione stampabile
ciao a tutti.. vorrei deodexare il file Secsettings.apk Secsettings.odex della stock rom 4.1.2... è possibile deodexare solo questo apk? qualcuno può aiutarmi?
Certo che è possibile lo puoi fare dalla cucina digitando 0 poi invio poi digitando 11 e poi invio e poi digitando s e poi invio per deodexare un singolo file poi scorri la lista fino a quando trovi il file che ti serve e digiti il codice numerico sulla sinistra affianco al nome del file.
edit:oppure puoi usare questo tool http://forum.xda-developers.com/show....php?t=2345767 che permette anche di re-odexare il file
vorrei aggiungere la percentuale all icona della batteria nella statusbar, è possibile? ho una rom stock jb 4.1.2
Ottenere un’interfaccia Grafica Stile Android puro [AOSP Theme JB ROMS]:
http://img.tapatalk.com/d/14/03/25/ubaseruh.jpg
1) De compilate il SecSettings apk
2) Aprite l’Android Manifest
3) Cercate la Stringa <application android:theme="@style/SettingsTheme"
4) Sostituitela con la seguente: <application android:theme="@*android:style/Theme.Holo"
5) Ricompilate, signate e sostituite il vostro nuovo SecSettings apk.
Edit: ovviamente anche tutti i sotto menù vengono modificati in Stile Holo. :)
@Nicola: sono in astinenza da mod. Non so più che inventarmi... :banghead::cool:
Nulla di nuovo hai? :D
Se vuoi ti passo la mia mod per i toggle in griglia stile S4 in cui va fixato un piccolo bug.
Praticamente quando abbasso la tendina non sempre appare la schermata relativa al tasto selezionato. E volendo si potrebbe aggiungere un effetto quando si passa da una schermata all'altra.
Se ti interessa...:)
Ciao Rattle. Gentilissimo e disponibile come sempre. :)
Ti ringrazio, ma i Toggle in Stile S4 non li amo molto. Circa il Fix... Nicolaaaaaaaaaaaaaaaaaaaaa... :p
Sisi... finalmente potrò nascondere a mia moglie in "tempo reale" le donnine nude così. :cool: :p rotfl
ragazzi mi servirebbe un favorissimo
Poichè come operatore mobile uso Noverca, che funziona solo in roaming, stavo cercando un modo per eliminare la R di roaming che compare sulle tacchette del segnale. La R in se non è fastidiosa se non fosse per il fatto che da kitkat quando sei in Roaming (diversamente da come succedeva su jelly bean) compare quella R al posto dell icona 3G,E,H e H+ e in pratica non riesco a capire con che tipo di connessione sto navigando
ho scaricato dal market NinjaMorph pensando di eliminare semplicemente l icona ma, in un attimo di lucidità,ho capito che era inutile... avrei semplicemente reso la R "invisibile" ma comunque non sarei riuscito a vedere le classiche icone E H H+ ecc.
mi sapreste suggerire un modo per visualizzare le icone classiche anche se sono in roaming?
ps: so che è un "problema" che riguarda pochi ma se qualche cuoco volesse implementare una soluzione direttamente in qualche rom gliene sarei grato ;)
In effettise togli l'icona "R" altro non fai che rendere invisibile tutto quanto dato che, come affermi, Kit Kat ha modificato (anche) quel tipo di visualizzazione (non lo sapevo... Ma c'è qualcosa di Kit Kat che sia stato migliorativo?? Bah...).
Ci sarebbe quindi da rivisitare il Layout della SystemUi che gestisce il sistema di icone. Io non saprei... magari aspetta qualcuno che possa darti una dritta... :)
Oink Oink... :p
Vedi QUESTA se ti va bene.
[GUIDA][Mod]Cambiare lo sfonfo nel pannello delle notifiche in tempo reale
Fare un Nandroid Backup prima di effettuare operazioni di modding
Per realizzare questa mod vi serve:
SecSettings.apk
SystemUI.apk
tool per decompilare e compilare come apktool 1.5.2
tool per l'editor di testo come notepad++
Iniziamo con il SecSettings.apk:
Decompilare il SecSettings.apk ,andare in res/xml ,aprire con l'editor di testo il display_settings.xml e aggiungere le linee in rosso
Andare in res/value e aprire arrays.xml e aggiungere alla fine le seguenti linee in rosso, in blu qualche spiegazionecodice:<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_options" android:key="statusbar_options">
<ListPreference android:persistent="false" android:entries="@array/notification_panel_bg_entries" android:title="@string/notification_panel_bg_title" android:key="notification_panel_bg_chooser" android:summary="@string/notification_panel_bg_summary" android:entryValues="@array/notification_panel_bg_values" />
</PreferenceCategory>
Andare in res/value aprire strings.xml e aggiungere alla fine le seguenti lineecodice:<string-array name="notification_panel_bg_entries">
<item>Stock</item>
<item>Bart Simpson</item> Qui potete mettere i titoli a vostro piacimento in base ai nomi
<item>Dito Medio</item> dei png che inserirete nel SystemUI
<item>Dune</item>
<item>Leone</item>
<item>Micio</item>
</string-array>
<string-array name="notification_panel_bg_values">
<item>0</item> Questi valori indicano quante possibilità di scelta si possono avere
<item>1</item> in questo caso sono 6, potete aggiungere o diminuire
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
</string-array>
Andare in res/value-it aprire strings.xml e aggiungere alla fine le seguenti lineecodice:
<string name="statusbar_options">Statusbar Options</string>
<string name="notification_panel_bg_title">Panel Background</string>
<string name="notification_panel_bg_summary">Choose panel background</string>
Andare in smali\com\android\settings\DisplaySettings.smal i e aggiungere le seguenti linee in rossocodice:
<string name="statusbar_options">Opzioni della Statusbar</string>
<string name="notification_panel_bg_title">Sfondo Pannello Notifiche</string>
<string name="notification_panel_bg_summary">Scegli lo sfondo del pannello delle notifiche</string>
Nello stesso file trovare .method public onCreate e aggiungere le seguenti linee in rossocodice:.field private mNotificationEdit:Landroid/preference/PreferenceScreen;
.field private mNotificationPanelBackground:Landroid/preference/ListPreference;
.field private mNotificationPulse:Landroid/preference/CheckBoxPreference;
Nello stesso file trovare .method public onPreferenceChange e aggiungere le linee in rosso, nelle linee in blu qualche spiegazionecodice: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, "notification_panel_bg_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;->mNotificationPanelBackground:Landroid/preference/ListPreference;
const-string v12, "notification_panel_bg_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;->mNotificationPanelBackground: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;->mNotificationPanelBackground:Landroid/preference/ListPreference;
invoke-virtual {v13, p0}, Landroid/preference/SwitchPreferenceScreen;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
.line 426
const-string v12, "display_battery_level"
invoke-virtual {p0, v12}, Lcom/android/settings/DisplaySettings;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
move-result-object v12
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_notification_panel_bg qui cambiare da cond_2 a cond_notification_panel_bg
.line 1089
check-cast p2, Ljava/lang/Boolean;
invoke-virtual {p2}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
if-eqz v0, :cond_e
Salvare tutti i cambiamenti e ricompilare il SecSettingscodice:.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_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
.end method
Nel prossimo post la seconda parte.
Parte con il SystemUI.apk
Decompilare il SystemUI.apk, aggiungere i le immagini che si vuole che vengano visualizzate in res\drawable-hdpi
io le ho inserite con queste dimensioni 174x290 ecco un esempio
Allegato 106933
l' immagine è in basso in modo tale ,che quando si andrà ad abbassare la tendina ,essa verra visualizzata come da video
quando si riceverà una notifica essa andrà a sovrapporsi all'immagine
Penso che si possano usare anche immagini in formatto 480x800 , ma queste essendo a schermo intero verranno sovrapposte dai toggles e
dalla barra di luminosità, a meno chè non si usino trasparenze per quest'ultime.
Ricompilare il SystemUI e decompilare il nuovo SystemUI.apk per ottenere i nuovi ids delle immigini inserite.
Quindi aprire SystemUI\res\value\public e lasciarlo aperto per poter confrontare i nuovi ids
Andare in SystemUI\smali\com\android\systemui\statusbar\phon e\ e aprire il PhoneStatusBar.smali e aggiungere il seguente metodo in rosso
nello stesso file trovare il .method protected makeStatusBarView()Lcom/android/systemui/statusbar/phone/PhoneStatusBarView; e aggiungerecodice:.method public notificationpanelbackground()V
.locals 4
iget-object v1, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mContext:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v1
const-string v2, "notification_panel_bg_chooser"
const v3, 0x0
invoke-static {v1, v2, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v1
const v2, 0x1
if-eq v1, v2, :cond_0
const v2, 0x2
if-eq v1, v2, :cond_1
const v2, 0x3
if-eq v1, v2, :cond_2
const v2, 0x4
if-eq v1, v2, :cond_3
const v2, 0x5
if-eq v1, v2, :cond_4
const v2, 0x7f020071 id del png stock
goto :goto_0
:cond_0
const v2, 0x7f021134 id del png bart simpson
goto :goto_0
:cond_1
const v2, 0x7f021135 id del png dito medio
goto :goto_0
:cond_2
const v2, 0x7f021136 id del png dune
goto :goto_0
:cond_3
const v2, 0x7f021137 id del png leone
goto :goto_0
:cond_4
const v2, 0x7f021138 id del png micio
:goto_0
iget-object v3, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNotificationPanel:Landroid/view/View;
invoke-virtual {v3, v2}, Landroid/view/View;->setBackgroundResource(I)V
return-void
.end method
.method protected onConfigurationChanged(Landroid/content/res/Configuration;)V
.locals 3
.parameter "newConfig"
.prologue
le seguenti linee in rosso
Andare in SystemUI\smali\com\android\systemui\statusbar\phon e\ e aprire il PhoneStatusBar$SettingsObserver.smalicodice:iput-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNotificationPanel:Landroid/view/View;
move-object/from16 v0, p0
invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->notificationpanelbackground()V
.line 558
iget-object v9, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->mNotificationPanel:Landroid/view/View;
new-instance v10, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$6;
trovare il .method observe()V e aggiungere le seguenti linee in rosso
nello stesso file trovare il .method public onChange(Z)V e aggiungere le seguenti linee in rossocodice:const-string v1, "statusbar_color"
invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {v0, v1, v2, p0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
const-string v1, "notification_panel_bg_chooser"
invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
invoke-virtual {v0, v1, v2, p0}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
return-void
.end method
Salvare tutti i cambiamenti e ricompile il SystemUI, quindi mettere il SecSettings.apk e il SystemUI.apk nel vostro dispositivo.codice:.method public onChange(Z)V
.locals 1
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$SettingsObserver;->this$0:Lcom/android/systemui/statusbar/phone/PhoneStatusBar;
invoke-virtual {p0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$SettingsObserver;->update()V
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/PhoneStatusBar$SettingsObserver;->this$0:Lcom/android/systemui/statusbar/phone/PhoneStatusBar;
invoke-virtual {v0}, Lcom/android/systemui/statusbar/phone/PhoneStatusBar;->notificationpanelbackground()V
return-void
.end method
Chiarissimo, peritissimo e gentilissimo come sempre anche tu Nicola. Grazie!!! :)
Nicola per caso ti ricordi dove sta lo sfondo delle notifiche ricevute?
Mi pareva fosse gestito nel tw_status_bar_expanded.xml.
Ho cercato anche in value e in drawable nel caso fosse una immagine ma non ho avuto fortuna.
Grazie!
Quella l'ho settata al 50%.
Non avendo una immagine sulla tendina a schermo intero io mi aspettavo di intravedere la home...ma effettivamente 50% di quel colore più la percentuale di trasparenza della tendina e siamo al nero. Mi conviene cambiare prima l'immagine della tendina.
Grazie caro....sei forte!!;)
Edit. Che tendina ci metto? Massimo ne hai qualcuna interessante?:D:D:D:D:p:p:p:p
C'è una guida su xda [TUT][JB] HOW TO THEME SystemUI.apk for TOTALLY newbie! - xda-developers dove dice di andare in SystemUI\smali\com\android\systemui\statusbar\phon e aprire il PhoneStatusBar.smali e cercare le linee con questo codice
-0x100
e dice di cambiare il codice da -0x100 a 0x0
Se stai cercando questo
Allegato 107070
È giusto il percorso che ti ha indicato Nicola, res/values/drawables
Ma devi modificare tw_notification_background_null
Sotto trovi anche il pressed che ovviamente è il colore in pressione. Ma a questo ci arrivavi anche da solo ;)
Si lo avevo visto e quel valore è gia con trasparenza al 100%.
Infatti controllando il percorso nei vari xml ero andato a modificare il file in drawable/tw_notification_row_bg.xml (edit) e avevo modificato la stringa centrale centrale con tw_notification_background_null sperando così di non intaccare le temature. Tra un po torno a casa e provo la guida segnalata da Nicola.
EDIT: Perfetto!!!! Grazie ancora Nicola e naturalmente grazie anche agli altri per le risposte! :cool: :)
Ho provato a modificare il -0x100 in -0x50 e ho ottenuto rosso come sfondo.rotfl
@Dionysus,
Ciao Dionysus mi rivolgo a te per questo piccolo problema.
In pratica ho scaricato la rom SlimLinaro 4.4 per s2 per poter decompilare qualche apk in modo da studiare il codice smali che implementa la listview animation, ma quando vado su apktool per poter dare le dipendenza con il comando apktool if questo mi restituisce questo errore
Allegato 108145
non capisco da cosa può dipendere,forse dal tool che uso? sono in ambiente windows7
grazie in anticipo