Rhod|v_!r0x Mi-Padawan
  • Männlich
  • 104
  • Mitglied seit 7. Mai 2011
  • Letzte Aktivität:

Beiträge von Rhod|v_!r0x

    So,


    Da das Projekt jetzt relativ weit ist und ich den Thread auch gestern schon auf xda veröffentlicht hab, wollte ich den Post hier mal ändern und aktualisieren.



    Beschreibung:
    Da mich das Ganze testen (editieren, zippen, usb mounten, auf SD kopieren, LS auswählen, ...) langsam genervt hat, hab ich angefangen das Projekt zu erstellen.
    Ist zwar schon relativ weit, aber immer noch alpha/beta. Es gibt also noch ein paar Fehler und FCs. Unter anderem weil ich noch nicht überall Fehler abfange (z.B. bei Eingabefeldern).
    Ideen/Kritik sind immer willkommen :)


    Voraussetzungen:
    - Java Runtime


    Anleitung:
    Eig. ist es relativ simpel ;)
    Nachdem man die Datei entpackt hat, gibt es 5 Dateien bzw Ordner.
    - advanced (Ordner)
    - wallpaper (Ordner)
    - MIUI-LS-Tester.jar (ausführbare Datei)
    - bgtWeather.db (9sweather Datenbank-Datei)
    - systemCPs.db (Anrufe, SMS, ... für ContentProviders [noch nicht fertig])


    wallpaper und advanced können mit eigenen ersetzt werden, aber kann sein dass nicht alles funktioniert oder das Programm abstürzt, weil noch nich alles unterstützt wird
    Z.B. unlocker und Variablen von den einzelnen Elementen (#unlocker.move_x)
    Wenn man mal in die manifest.xml reinschaut, sieht man was funktioniert und was nich ;)


    Um das Programm zu starten kann man entweder auf die 'MIUI-LS-Tester.jar' doppelklicken oder in nem Terminal/Kommandozeile.
    Im Terminal zum Ordner navigieren wo die MIUI-LS-Tester.jar liegt und dann folgendes eingeben:

    Code
    java -jar MIUI-LS-Tester.jar


    Im Terminal gibts dann nebenher ein paar Ausgaben zum Programm. Informationen und auch ein paar Debug-Informationen.


    Beim Starten erscheint erstmal ein kleines Fenster mit 2 Textfeldern. Da kann/muss man die Breite und Höhe festlegen.


    Wenn eine config.xml existiert, kann man - nachdem man auf 'Preview' geklickt hat - im rechten Panel auf 'config.xml' gehen und die Variablen setzen.


    Damit man was anzeigen lassen kann, muss man natürlich zu erst eine manifest.xml auswählen und auf 'Preview' klicken.
    Optional kann man auch noch einen Font auswählen.


    Nachdem man auf 'Preview' geklickt hat, gibt es 3 weitere Buttons:
    Screenshot:
    Sollte eig klar sein was das macht ;)
    Speichert einfach einen Screenshot vom linken Panel im Ordner <MIUI-LS-Tester.jar-Ort>/preview/lockscreen_preview_x.jpg

    create mtz:
    das erstellt aus den vorhandenen Ordnern eine mtz.
    Man kann dann auswählen ob man den Font, wallpaper, preview, ... dazu nehmen möchte oder nicht.
    Danach kann man dann noch eine neue description.xml erstellen oder bearbeiten.
    Das wars. Danach ist im gleichen Ordner wie die jar die mtz-Datei

    toggle buttons:
    Damit werden die Trigger-Buttons sichtbar gemacht bzw wieder unsichtbar.
    Weil man die Buttons im LS später nicht sieht und das fürs debuggen aber vllt ganz geschickt ist, hab ich das mal eingefügt.

    Rechts oben im rechten Panel (ControlPanel) kann man ein paar Variablen setzen.
    Ich denke das ist klar, also werd ich mal nix erklären ;)


    Wenn die manifest.xml geändert wurde (und das Programm noch läuft) muss man nur nochmal auf 'Preview' klicken und die Änderungen werden angezeigt.


    Credits:
    mein Bruder: für die Hilfe mit dem "Taschenrechner"
    picard666@xda: für die Hilfe und Ideen
    jdom team: für den besten Java XML-Parser
    jfont-chooser team und david von stackoverflow: für den Fontchooser.
    zentus: für die sqlite lib.
    pomenx: vom miui team für den manifest reference thread @ xda.


    Infos:
    LOC: 3125
    Klassen: 15
    Zeit: zu viel :P

    Warum zeigt WinRar mir nach dem ich die Manifest.xml Datei wieder im Archiv gespeichert ab an dass das Archiv zerstört sei?
    Aber das ist nicht bei allen Lockscreens.


    Das hab ich auch bei manchen Lockscreens...Keine Ahnung woher das kommt.
    Ich entpack dann alles und pack es als neue zip.



    meinst du mit State das auf der linken Seite? Also <Stadt> X°C ?


    mit dem Handcent hab ich leider keine Ahnung

    Wenn du die mtz mit nem Zip-Prog öffnest und im Ordner "lockscreen" dann die manifest.xml öffnest, suchst nach nem

    Code
    <Text ..../>


    in dem sowas wie "city" oder "9scity" vorkommt. Da kannst dann unter

    Code
    size="xx"

    was anderes eintragen, speichern, wieder in die mtz packen und fertig

    Hab jetzt endlich mal eine gute Übersicht über alle Tags gefunden http://forum.xda-developers.com/showthread.php?t=1146200
    Allerdings bleiben noch ein paar Fragen...
    bin mit meinem Projekt jetzt endlich weiter, aber irgendwie kann man auf Variablen anders zugreifen als die definiert werden.
    Z.B. wird bei einem Theme in nem VarArray der Tag erstellt:

    Code
    <Var name="9s_ma" index="eqs(@9sday0,'Monday')*1+eqs(@9sday0,'Tuesday')*2+eqs(@9sday0,'Wednesday')*3+eqs(@9sday0,'Thursday')*4+eqs(@9sday0,'Friday')*5+eqs(@9sday0,'Saturday')*6+eqs(@9sday0,'Sunday')*7"/>


    Allerdings wurde die Variable nicht als 9sday0 definiert, sondern 9s_day0 im ContentProdiverBinder.

    Code
    <Variable name="9s_day0" type="string" column="daycode1" row="0"/>


    Jemand ne Idee wie das genau funktioniert?

    Also 2mal am Tag ist eig zu viel. Außer es läuft ständig GPS, W-LAN/mobile Netze, ...


    Was viel Strom frisst ist auf jeden Fall die automatische Helligkeit und so Sachen wie GPS.


    Hast du mal einen full wipe und Neuinstallation versucht?