Utente del giorno:9mm con ben 3 Thanks ricevuti nelle ultime 24 ore Utente della settimana:9mm con ben 8 Thanks ricevuti negli ultimi sette giorni Utente del mese:9mm con ben 29 Thanks ricevuti nell'ultimo mese
Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
Buongiorno ragazzi eccomi qui per la seconda richiesta di aiuto
ho in mente di aggiungere la funzionalità HALO alla rom, perciò ho incominciato a vedere il source code ( 1 - 2 )..ma non ho trovato alcuna guida a riguardo, e di certo non sono esperto dato che non ho studiato programmazione ma sono un semplice ragazzo che ama fare questo tipo di cose
ora vorrei sapere almeno da dove cominciare, ho capito su per giù che devo aggiungere o eliminare certe stringhe da certi file, il problema è: dove trovo questi file?
ad esempio: "core/java/android/app/Activity.java" dove lo trovo?
"packages/SystemUI/res/drawable-hdpi/halo_back_left.png" questo ad esempio so che si trova nel SystemUI.apk, decompilandolo. ma non ho capito il significato della scritta "packages".
[GUIDA][Mod]Cambiare l'effetto sblocca schermo in tempo reale
Fare un Nandroid Backup prima di effettuare operazioni di modding
Per realizzare questa mod vi serve:
SecSettings.apk
framework-res.apk
android.policy.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 lockscreen_settings.xml e aggiungere le linee in rosso
Salvare tutti i cambiamenti e ricompilare il SecSettings
Parte con il framework-res.apk
Decompilare il framework-res.apk ,scaricare questo zip https://www.dropbox.com/s/z4ymtmvroz...mework-res.zip e mettere i pngs nella corrispondente cartella
Compilare il framework-res e decompilare il nuovo framework-res.apk per ottenere i nuovi ids dei nuovi pngs che serviranno poi nell' android.policy.jar.
Quindi aprire framework-res\res\value\public e lasciarlo aperto per poter confrontare i nuovi ids
A seguire la parte con l'android.policy.jar
Parte con l'android.policy.jar
Decompilare l'android.policy.jar e andare in com\android\internal\policy\impl\sec e aprire il CircleUnlockView.smali e trovare .method private getUnlockscreenLockImageIdAt(D)I e aggiungere le seguenti linee in rosso , nelle linee in blu qualche spiegazione
fate attenzione con gli ids nell' array ,assicuratevi che siano gli stessi del vostro framework-res\res\value\public
Nello stesso file trovare .method private createArrow()V e aggiungere le linee in rosso, in blu qualche spiegazione
ottimo lavoro nicola..
quando aggiungete nuove guide mandate un PM ai moderatori della Sezione chiedendo di far aggiungere la guida in OP, così non si perde tra le pagine
[GUIDA][Mod]Cambiare il tema delle icone dei toggles 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
Salvare tutti i cambiamenti e ricompilare il SecSettings
Parte con il SystemUI.APK
Decompilare il SystemUI.apk ,scaricare questo zip togglestheme.zip e mettere i pngs nella corrispondente cartella
Compilare il SystemUI e decompilare il nuovo SystemUI.apk per ottenere i nuovi ids dei nuovi pngs che serviranno per i file elencati poi in seguito
Quindi aprire SystemUI\res\value\public e lasciarlo aperto per poter confrontare i nuovi ids
Andare in SystemUI\smali\com\android\systemui\statusbar\poli cy\quicksetting e aprire il AirplaneModeQuickSettingButton.smali e aggiungere le linee in rosso, nelle linee in blu qualche spiegazione
trovare il .method public constructor <init>(Landroid/content/ContextV e cambiare il codice da cosi
.method public constructor <init>(Landroid/content/Context;)V
.locals 9
.parameter "context"
.prologue
invoke-virtual {p1}, 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_themes5
const v2, 0x2
if-eq v2, v1, :cond_green
const v3, 0x7f0a00f5 <--questo è l' id del testo sotto l'icona, questo rimane lo stesso per gli altri temi,ma cambia da file a file
const v4, 0x7f0201ba <--questo è l'id del stock tw_quick_panel_icon_airplane_on, verificate che sia quello del vostro public
const v5, 0x7f0201b9 <--questo è l'id del stock tw_quick_panel_icon_airplane_off, verificate che sia quello del vostro public
const v6, 0x7f0201b8 <--questo è l'id del stock tw_quick_panel_icon_airplane_dim, verificate che sia quello del vostro public
goto :goto_new
:cond_themes5
const v3, 0x7f0a00f5
const v4, 0x7f021104 <--questo è l'id del s5tw_quick_panel_icon_airplane_on, verificate che sia quello del vostro public
const v5, 0x7f021103 <--questo è l'id del s5tw_quick_panel_icon_airplane_off, verificate che sia quello del vostro public
const v6, 0x7f021102 <--questo è l'id del s5tw_quick_panel_icon_airplane_dim, verificate che sia quello del vostro public
goto :goto_new
:cond_green
const v3, 0x7f0a00f5
const v4, 0x7f0210d2 <--questo è l'id del green5tw_quick_panel_icon_airplane_on, verificate che sia quello del vostro public
const v5, 0x7f0210d1 <--questo è l'id del green5tw_quick_panel_icon_airplane_off, verificate che sia quello del vostro public
const v6, 0x7f0210d0 <--questo è l'id del green5tw_quick_panel_icon_airplane_dim, verificate che sia quello del vostro public
:goto_new
const/4 v7, 0x0
.line 112
const/4 v2, 0x0
move-object v0, p0
move-object v1, p1
move v8, v7
invoke-direct/range {v0 .. v8}, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;IIIIII)V
.line 53
Quindi aggiungere il codice in rosso come sopra per i seguenti file ,che si trovano in com/android/systemui/statusbar/policy/quicksetting/
e controllare e verificare di inserire il giusto id del vostro public, per quel specifico file:
AllShareCastQuickSettingButton
AutoRotateQuickSettingButton
BluetoothQuickSettingButton
DoNotDisturbQuickSettingButton
DormantModeQuickSettingButton
DrivingModeQuickSettingButton
LocationQuickSettingButton
MobileDataQuickSettingButton
MultiWindowQuickSettingButton
NfcP2pQuickSettingButton
PowerSavingQuickSettingButton
SBeamQuickSettingButton
SilentModeQuickSettingButton per questo file c'è la spiegazione di seguitoe
SmartStayQuickSettingButton
SyncQuickSettingButton
WifiQuickSettingButton
mentre per il SilentModeQuickSettingButton.smali cambiare il codice da cosi:
.method public constructor <init>(Landroid/content/Context;)V
.locals 9
.parameter "context"
.prologue
invoke-virtual {p1}, 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_themes5
const v2, 0x2
if-eq v2, v1, :cond_green
const v5, 0x7f0201ed<--questo è l'id del stock tw_quick_panel_icon_silent_on
const v3, 0x7f0a00ed <--questo è l'id del testo sotto l'icona
const v4, 0x7f0201ec <--questo è l'id del stock tw_quick_panel_icon_silent_off
const v7, 0x7f0201eb<--questo è l'id del stock tw_quick_panel_icon_silent_on_on
goto :goto_new
:cond_themes5
const v5, 0x7f02112a<--questo è l'id del s5tw_quick_panel_icon_silent_on
const v3, 0x7f0a00ed
const v4, 0x7f021128<--questo è l'id del s5tw_quick_panel_icon_silent_off
const v7, 0x7f021127<--questo è l'id del s5tw_quick_panel_icon_silent_on_on
goto :goto_new
:cond_green
const v5, 0x7f0210f8<--questo è l'id del greentw_quick_panel_icon_silent_on
const v3, 0x7f0a00ed
const v4, 0x7f0210f7<--questo è l'id del greentw_quick_panel_icon_silent_off
const v7, 0x7f0210f6 <--questo è l'id del greentw_quick_panel_icon_silent_on_on
:goto_new
const/4 v2, 0x0
.line 53
const/4 v6, 0x0
move-object v0, p0
move-object v1, p1
move v8, v5
invoke-direct/range {v0 .. v8}, Lcom/android/systemui/statusbar/policy/quicksetting/QuickSettingButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;IIIIII)V
.line 36
Parte dell'observer
Questa parte aggiunge l'observer,serve per far cambiare il tema in tempo reale, senza questa parte il tema cambia soltanto al riavvio del dispositivo
Andare in SystemUI\smali\com\android\systemui\statusbar\poli cy\quicksetting e aprire il QuickSettingPanel.smali
trovare il .method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V e aggiungere alla fine le linee in rosso
quindi aggiungere questo file smaliQuickSettingPanel$SettingsObserver.zip in SystemUI\smali\com\android\systemui\statusbar\poli cy\quicksetting
Salvare tutti i cambiamenti e ricompile il SystemUI, quindi mettere il SecSettings.apk e il SystemUI.apk nel vostro dispositivo.