C
coolya
Ambitioniertes Mitglied
- 137
Erst ein Mal danke für die lorbeeren hier im Thread aber mit dem CM9 cam habe ich eigentlich nicts zu tun gehabe, habe ein paar code ausschnitte gepostet und ein paar Hinweise gegeben, mehr nicht. Also all die Lobpreisung bitte an Lagloose
Achtung die Recht-, Groß- und Kleinschreibung ist ab hier schrecklich. Ich habe es werder gegengelesen nocht sonst wie kontrolliert, es ist einfach so runter getippt.
So nun wirds technisch, schauen wir doch mal an was Mr. Maclaw so getrieben hat. Dazu habe ich nur informationen verwendet die aus den Commitlogs des Git repos des GalaxyICS Teams auf Github verfügbar sind.
Achtun ab hier wird es technisch, wer keine Lust drauf hat kann den rest getrost überlesen, es wird eine menge quellcode und commits messages folgen.
Leider ist dort seit längerem kein Cooper aka Galaxy Ace coder mehr verfügbar, sondern nur noch der Gio code, darum beschränkt sich das ganze auf den verfügabren code.
Wo stammt der Code her?
Wie man unschwer erkennen kann wurde code von Teamhacksung geforked, was die Organisation auf Github ist in der wir den quellcode für Samsung Geräte gemeinsam entwickeln. Gestartet wurde das ganze vor etwas mehr als einem Jahr von Daniel, Atin, Mathew und mir um einen gemeinsamen Platz zu haben Code für Samsung Geräte zu entwickeln abseits der CyanogenMod Qualitätsansprüche und es als eine Art Inkubator zu nutzen. Zu dem Zeitpunkt gab es außerdem noch keine Unterstützung für Samsung Geräte in der CyanogenMod "mainline".
Der Code der verwendet wurde ist der von tass aka Galaxy Mini, eigentlich die gleiche Hardware wie das Ace, Gio, Fit und Mini. Den Code haben tj_style und ich damals für CM 7 gemeinsam entwickelt.
Los gehts im ICS branch mit diesem Commit. Niuchts besonderes einfach ein Masscommit auf allen Repositories um einen ICS branch zu erzeugen.
Anschließend hat Squadzone einige Änderugen gemach um es zum kompilieren zu bringen.
Dann hat Maclaw das Gerät umbenannt in Gio.
nun kommen die spannenderen Sachen.
Danach folgen 6 Commits die nichts weiter machen als Dateien umzubennen oder name zu erstzen hauptsächlich tass durch gio ersetzen.
Dann werden jedemenge Dateien rein kopiert, die zwar verwendet werden aber später wieder rückgängig gemacht werden. Außerdem werden Sensor trieber hinzugefügt, die unveränderter Kopien von Code den ich initial eingefügt hatte.
Dann wird eine library umbenannt die als prebuild verwendet wird. Anschließend werden firmware dateien hinzugefügt wird, die normalerweise aus rechtlichen Gründen in einem externen repository sind.
Nun wird die liblight hinzugefügt, die für die Steuerung des Buttonbeleuchtung Displayhelligkeitssteuerung verantwortlich ist. Man beachte das Copyright im fileheader
Nun werden Änderungen von Squadzone übernommen, wie man auch in den Kommentaren erkennen kann.
Jetzt wird eine Binäre liblight verwendet, was aber dann direkt wieder rückgängig gemacht wir.
Nun werden ein paar build properties wieder auf die richtigen Werte gesetzt.
Nun werden Binäre Audiodateien verwendet. Mit der Board platform gespielt. Weitere build properties von CM7 übernommen. Einige nicht verwendete header Datein werden gelöscht und es soll nun doch die Audio lib vom Source gebaut werden. Um es dann gleich wieder rückgängig zu machen, außerdem werden die local include pfade auskommentiert womit die lokalen header nicht mehr verwendet werden. Ein neues audio lib prebuild wird hinzugefügt.
Nun doch wieder einen Teil des Audio subsystem vom Quellcode gebaut.
Es wird die javascript engine und der Browser umgestellt, was aber wirkungslos bleibt, weil es ja auch anschließend wieder rückgängig gemacht wird.
Dann Apps hinzugefügt, die es aber gar nicht gibt.
Dann bemerkt endlich mal jemand dass es nicht gerade sinnvoll ist Dinge im Makefile auszukommentieren, wie es Maclaw die ganze Zeit gemacht hat, weil die Verarbeitung dann ab dieser Zeile aufhört.
Die nächsten 5 Commits beseitigen nicht benutze Dateien. Und fügen ein 2 apps hinzu. Dann wird wieder eine binäre Sensor lib verwendet, der Source code für die Sensor lib ist ab diesem Zeitpunkt überflüssig aber noch im Repo vorhanden.
Dann wird wieder der nicht funktionierende Youtube fix eingebaut.
Nun werden eine Menge header dateien eingefügt und das Makefile angepasst das diese statt der globalen verwendet werden in der Hoffnung das damit der hw renderer besser funktioniert. Diese werden dann auch gleich wieder entfernt.
Nun widmet man sich wieder dem Audio subsystem und fügt eine Menge source code hinzu, woher dieser stammt kann man unschwer erkennen.
Dann werden einige neue hacks aus der CyanogenMod mainline verwendet.
Anschließend nocht mal einige Datein hinzugefügt, beim schnellen überfliegen sollten das meiste Datein sein die bisher einfach fehlten oder verschoben wurden. Dann noch mal Camera prebuilds eingefügt und eine komischen "wir wollen open source sein, aber ihr seid so blöd" ReadMe eingefügt.
So das wars. Alle Commits die gemacht wurden und wie viel Code wurde selbst geschrieben? Zählt selbst. Die meisten Änderungen sind Konfigurationsänderungen um Dinge zu nutzen die in der CM mainline geschreiben wurde. Also macht eucht bitte selbst ein Bild was für eine Entwicklungsarbeit dort gemacht wurde.
Achtung die Recht-, Groß- und Kleinschreibung ist ab hier schrecklich. Ich habe es werder gegengelesen nocht sonst wie kontrolliert, es ist einfach so runter getippt.
So nun wirds technisch, schauen wir doch mal an was Mr. Maclaw so getrieben hat. Dazu habe ich nur informationen verwendet die aus den Commitlogs des Git repos des GalaxyICS Teams auf Github verfügbar sind.
Achtun ab hier wird es technisch, wer keine Lust drauf hat kann den rest getrost überlesen, es wird eine menge quellcode und commits messages folgen.
Leider ist dort seit längerem kein Cooper aka Galaxy Ace coder mehr verfügbar, sondern nur noch der Gio code, darum beschränkt sich das ganze auf den verfügabren code.
Wo stammt der Code her?
Wie man unschwer erkennen kann wurde code von Teamhacksung geforked, was die Organisation auf Github ist in der wir den quellcode für Samsung Geräte gemeinsam entwickeln. Gestartet wurde das ganze vor etwas mehr als einem Jahr von Daniel, Atin, Mathew und mir um einen gemeinsamen Platz zu haben Code für Samsung Geräte zu entwickeln abseits der CyanogenMod Qualitätsansprüche und es als eine Art Inkubator zu nutzen. Zu dem Zeitpunkt gab es außerdem noch keine Unterstützung für Samsung Geräte in der CyanogenMod "mainline".
Der Code der verwendet wurde ist der von tass aka Galaxy Mini, eigentlich die gleiche Hardware wie das Ace, Gio, Fit und Mini. Den Code haben tj_style und ich damals für CM 7 gemeinsam entwickelt.
Los gehts im ICS branch mit diesem Commit. Niuchts besonderes einfach ein Masscommit auf allen Repositories um einen ICS branch zu erzeugen.
Anschließend hat Squadzone einige Änderugen gemach um es zum kompilieren zu bringen.
Dann hat Maclaw das Gerät umbenannt in Gio.
nun kommen die spannenderen Sachen.
Danach folgen 6 Commits die nichts weiter machen als Dateien umzubennen oder name zu erstzen hauptsächlich tass durch gio ersetzen.
Dann werden jedemenge Dateien rein kopiert, die zwar verwendet werden aber später wieder rückgängig gemacht werden. Außerdem werden Sensor trieber hinzugefügt, die unveränderter Kopien von Code den ich initial eingefügt hatte.
Dann wird eine library umbenannt die als prebuild verwendet wird. Anschließend werden firmware dateien hinzugefügt wird, die normalerweise aus rechtlichen Gründen in einem externen repository sind.
Nun wird die liblight hinzugefügt, die für die Steuerung des Buttonbeleuchtung Displayhelligkeitssteuerung verantwortlich ist. Man beachte das Copyright im fileheader
Nun werden Änderungen von Squadzone übernommen, wie man auch in den Kommentaren erkennen kann.
Jetzt wird eine Binäre liblight verwendet, was aber dann direkt wieder rückgängig gemacht wir.
Nun werden ein paar build properties wieder auf die richtigen Werte gesetzt.
Nun werden Binäre Audiodateien verwendet. Mit der Board platform gespielt. Weitere build properties von CM7 übernommen. Einige nicht verwendete header Datein werden gelöscht und es soll nun doch die Audio lib vom Source gebaut werden. Um es dann gleich wieder rückgängig zu machen, außerdem werden die local include pfade auskommentiert womit die lokalen header nicht mehr verwendet werden. Ein neues audio lib prebuild wird hinzugefügt.
Nun doch wieder einen Teil des Audio subsystem vom Quellcode gebaut.
Es wird die javascript engine und der Browser umgestellt, was aber wirkungslos bleibt, weil es ja auch anschließend wieder rückgängig gemacht wird.
Dann Apps hinzugefügt, die es aber gar nicht gibt.
Dann bemerkt endlich mal jemand dass es nicht gerade sinnvoll ist Dinge im Makefile auszukommentieren, wie es Maclaw die ganze Zeit gemacht hat, weil die Verarbeitung dann ab dieser Zeile aufhört.
Die nächsten 5 Commits beseitigen nicht benutze Dateien. Und fügen ein 2 apps hinzu. Dann wird wieder eine binäre Sensor lib verwendet, der Source code für die Sensor lib ist ab diesem Zeitpunkt überflüssig aber noch im Repo vorhanden.
Dann wird wieder der nicht funktionierende Youtube fix eingebaut.
Nun werden eine Menge header dateien eingefügt und das Makefile angepasst das diese statt der globalen verwendet werden in der Hoffnung das damit der hw renderer besser funktioniert. Diese werden dann auch gleich wieder entfernt.
Nun widmet man sich wieder dem Audio subsystem und fügt eine Menge source code hinzu, woher dieser stammt kann man unschwer erkennen.
Dann werden einige neue hacks aus der CyanogenMod mainline verwendet.
Anschließend nocht mal einige Datein hinzugefügt, beim schnellen überfliegen sollten das meiste Datein sein die bisher einfach fehlten oder verschoben wurden. Dann noch mal Camera prebuilds eingefügt und eine komischen "wir wollen open source sein, aber ihr seid so blöd" ReadMe eingefügt.
So das wars. Alle Commits die gemacht wurden und wie viel Code wurde selbst geschrieben? Zählt selbst. Die meisten Änderungen sind Konfigurationsänderungen um Dinge zu nutzen die in der CM mainline geschreiben wurde. Also macht eucht bitte selbst ein Bild was für eine Entwicklungsarbeit dort gemacht wurde.