[Vibrant Android Development] Romanbb:
More or less set out to try this just to see if I can do it, and it so happens the possibilities are endless!

Here's how to do it:

decompile services.jar

open com/android/server/status/StatusBarPolicy.smali

do the edits below

compile

push/flash

Find (around line 690)

.line 530
const-string v3, "phone_signal"

then comment (or remove) the following two lines out, and add these:

const-string v4, ""

invoke-static {v3, v4}, Lcom/android/server/status/IconData;->makeText(Ljava/lang/String;Ljava/lang/CharSequence;)Lcom/android/server/status/IconData;

here's what my final block of code looks like

.line 530
const-string v3, "phone_signal"

# const v4, 0x10802fe

# invoke-static {v3, v7, v4, v6, v6}, Lcom/android/server/status/IconData;->makeIcon(Ljava/lang/String;Ljava/lang/String;III)Lcom/android/server/status/IconData;

const-string v4, ""

invoke-static {v3, v4}, Lcom/android/server/status/IconData;->makeText(Ljava/lang/String;Ljava/lang/CharSequence;)Lcom/android/server/status/IconData;

move-result-object v3

iput-object v3, p0, Lcom/android/server/status/StatusBarPolicy;->mPhoneData:Lcom/android/server/status/IconData;

.line 532
iget-object v3, p0, Lcom/android/server/status/StatusBarPolicy;->mPhoneData:Lcom/android/server/status/IconData;

k that takes care of changing what type of image it is, next we replace the updateSignalStrength() method :)

starts on line 5368 for me

.method private final updateSignalStrength()V
.registers 7

.prologue
const/4 v5, 0x0

.line 1314
const/4 v0, -0x1

iget-object v2, p0, Lcom/android/server/status/StatusBarPolicy;->mServiceState:Landroid/telephony/ServiceState;

if-eqz v2, :cond_35

iget-object v2, p0, Lcom/android/server/status/StatusBarPolicy;->mServiceState:Landroid/telephony/ServiceState;

invoke-virtual {v2}, Landroid/telephony/ServiceState;->isEmergencyOnly()Z

move-result v2

if-nez v2, :cond_35

.line 1320
iget-object v2, p0, Lcom/android/server/status/StatusBarPolicy;->mContext:Landroid/content/Context;

invoke-virtual {v2}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;

move-result-object v2

const-string v3, "airplane_mode_on"

const/4 v4, 0x0

invoke-static {v2, v3, v4}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

move-result v2

const/4 v3, 0x1

# flight mode is on
if-ne v2, v3, :cond_3d

.line 1322
iget-object v2, p0, Lcom/android/server/status/StatusBarPolicy;->mPhoneData:Lcom/android/server/status/IconData;

const-string v3, " fl "

iput-object v3, v2, Lcom/android/server/status/IconData;->text:Ljava/lang/CharSequence;

.line 1326
:goto_2b
iget-object v2, p0, Lcom/android/server/status/StatusBarPolicy;->mService:Lcom/android/server/status/StatusBarService;

iget-object v3, p0, Lcom/android/server/status/StatusBarPolicy;->mPhoneIcon:Landroid/os/IBinder;

iget-object v4, p0, Lcom/android/server/status/StatusBarPolicy;->mPhoneData:Lcom/android/server/status/IconData;

const v5, 0x0

invoke-virtual {v2, v3, v4, v5}, Lcom/android/server/status/StatusBarService;->updateIcon(Landroid/os/IBinder;Lcom/android/server/status/IconData;Lcom/android/server/status/NotificationData;)V

.line 1373
:cond_34
return-void

.line 1324
:cond_35
iget-object v2, p0, Lcom/android/server/status/StatusBarPolicy;->mPhoneData:Lcom/android/server/status/IconData;

# no service or signal
const-string v3, " X "

iput-object v3, v2, Lcom/android/server/status/IconData;->text:Ljava/lang/CharSequence;

goto :goto_2b

.line 1330
:cond_3d

# check if there's a signal
.line 1318
invoke-direct {p0}, Lcom/android/server/status/StatusBarPolicy;->hasService()Z

move-result v3

if-eqz v3, :cond_35

# ok there's signal, do something

new-instance v5, Ljava/lang/StringBuilder;

invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V

# add minus sign
const-string v1, "-"

invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

move-result-object v5

iget-object v0, p0, Lcom/android/server/status/StatusBarPolicy;->mSignalStrength:Landroid/telephony/SignalStrength;

invoke-virtual {v0}, Landroid/telephony/SignalStrength;->getGsmSignalStrength()I

move-result v0

const v3, 0x2

mul-int v4, v0, v3

const v3, 0x71

sub-int v0, v3, v4

invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

move-result-object v5

# add extra padding
const-string v1, " "

invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

move-result-object v5

invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

move-result-object v5

iget-object v2, p0, Lcom/android/server/status/StatusBarPolicy;->mPhoneData:Lcom/android/server/status/IconData;

iput-object v5, v2, Lcom/android/server/status/IconData;->text:Ljava/lang/CharSequence;

goto :goto_2b
.end method

If you look, you can see I manually added a couple of strings towards the very bottom, like the minus sign and a space afterwords. You can customize it to say what you want (maybe if you want it to say dBm)

Note: I basically rewrote the whole method, and I took the non-GSM stuff out of there, so if any of you Epic/Fascinate/Other guys want to do it (by chance), be sure to give me a holler if you're lost. Also, you can display the asu instead if you want, the dBm is actually calculated from it (asu*2) - 113, so you would just comment out a couple lines.

The attached smali already has edits for clock toggle/ampm toggle

BT, out

(battery percentage next? watch out jocelyn!)