After asking t0mm13b I had to learn that this will still not work for CM7 since the Emode.apk won't work on a VMSPLIT3G. Still don't understand why, but I believe him

Nonetheless I want to ask if anybody want's something like this before doing it. It would be an easy clickable list with all 74 (!) codes. Don't know if all 74 have an effect, but there are 74 mentioned in the Emode.apk-code.

The technical bits (if anybody else want's to do his first small app, it's quite easy):

Original ZTE-Code:

case 2131099740://that's from a switch-case in an OnClickListener which checks which view was pressed, should be the view with the "#" playTone(11); keyPressed(18); String str1 = this.mDigits.getText().toString();//dialed number gets converted to a string int i = str1.length(); String str2 = "****Emodenumber=" + str1 + " length=" + i;//just for debugging int j = Log.e("Dialer_EMode", str2); if (i <= 0)//if nothing was dialed...do nothing return; if (str1.charAt(0) != 42)//probably checks for the first character to be "*" return; int k = i - 1; if (str1.charAt(k) != 35)//probably checks for the last sign to be "#" return;//If everything fits the following gets done Intent localIntent1 = new Intent("android.intent.action.emdoe");//Notice the wrong spelling -.- Intent localIntent2 = localIntent1.putExtra("com.zte.smartdialer.input", str1);//Number gets attached to an intent, by the way that's bad programming here, localIntent2 is useless. sendBroadcast(localIntent1);//Emode get's started by a broadcast return;

So you only need these three lines:

Intent localIntent1 = new Intent("android.intent.action.emdoe"); localIntent1.putExtra("com.zte.smartdialer.input", "*983*477#");//Hardcoded just for proof of concept sendBroadcast(localIntent1);

Available codes:

const/4 v3, 0x1 const/4 v2, 0x0 [...] new-array v0, v0, [Ljava/lang/String; const-string v1, "*983*0#" aput-object v1, v0, v2 const-string v1, "*983*3640*01#" aput-object v1, v0, v3 const/4 v1, 0x2 const-string v2, "*983*25#" aput-object v2, v0, v1 const/4 v1, 0x3 const-string v2, "*983*31#" aput-object v2, v0, v1 const/4 v1, 0x4 const-string v2, "*983*26#" aput-object v2, v0, v1 const/4 v1, 0x5 const-string v2, "*983*850#" aput-object v2, v0, v1 const/4 v1, 0x6 const-string v2, "*983*86#" aput-object v2, v0, v1 const/4 v1, 0x7 const-string v2, "*983*84#" aput-object v2, v0, v1 const/16 v1, 0x8 const-string v2, "*983*07*01#" aput-object v2, v0, v1 const/16 v1, 0x9 const-string v2, "*983*07*02#" aput-object v2, v0, v1 const/16 v1, 0xa const-string v2, "*983*3470#" aput-object v2, v0, v1 const/16 v1, 0xb const-string v2, "*983*81#" aput-object v2, v0, v1 const/16 v1, 0xc const-string v2, "*983*890#" aput-object v2, v0, v1 const/16 v1, 0xd const-string v2, "*983*26*#" aput-object v2, v0, v1 const/16 v1, 0xe const-string v2, "*#06#" aput-object v2, v0, v1 const/16 v1, 0xf const-string v2, "*983*27274#" aput-object v2, v0, v1 const/16 v1, 0x10 const-string v2, "*#08#" aput-object v2, v0, v1 const/16 v1, 0x11 const-string v2, "*#09***#" aput-object v2, v0, v1 const/16 v1, 0x12 const-string v2, "*983*1275#" aput-object v2, v0, v1 const/16 v1, 0x13 const-string v2, "*983*7#" aput-object v2, v0, v1 const/16 v1, 0x14 const-string v2, "*983*3640#" aput-object v2, v0, v1 const/16 v1, 0x15 const-string v2, "*983*636#" aput-object v2, v0, v1 const/16 v1, 0x16 const-string v2, "*983*28#" aput-object v2, v0, v1 const/16 v1, 0x17 const-string v2, "*983*477#" aput-object v2, v0, v1 const/16 v1, 0x18 const-string v2, "*983*21#" aput-object v2, v0, v1 const/16 v1, 0x19 const-string v2, "*983*70#" aput-object v2, v0, v1 const/16 v1, 0x1a const-string v2, "*#18#" aput-object v2, v0, v1 const/16 v1, 0x1b const-string v2, "*#19#" aput-object v2, v0, v1 const/16 v1, 0x1c const-string v2, "*983*36#" aput-object v2, v0, v1 const/16 v1, 0x1d const-string v2, "*983*57#" aput-object v2, v0, v1 const/16 v1, 0x1e const-string v2, "*983*473#" aput-object v2, v0, v1 const/16 v1, 0x1f const-string v2, "*#23#" aput-object v2, v0, v1 const/16 v1, 0x20 const-string v2, "*983*10#" aput-object v2, v0, v1 const/16 v1, 0x21 const-string v2, "*#25#" aput-object v2, v0, v1 const/16 v1, 0x22 const-string v2, "*983*2726#" aput-object v2, v0, v1 const/16 v1, 0x23 const-string v2, "*983*37#" aput-object v2, v0, v1 const/16 v1, 0x24 const-string v2, "*983*6726#" aput-object v2, v0, v1 const/16 v1, 0x25 const-string v2, "*983*154#" aput-object v2, v0, v1 const/16 v1, 0x26 const-string v2, "*983*07#" aput-object v2, v0, v1 const/16 v1, 0x27 const-string v2, "*983*5182#" aput-object v2, v0, v1 const/16 v1, 0x28 const-string v2, "*983*7469#" aput-object v2, v0, v1 const/16 v1, 0x29 const-string v2, "*#26***#" aput-object v2, v0, v1 const/16 v1, 0x2a const-string v2, "*983*7936#" aput-object v2, v0, v1 const/16 v1, 0x2b const-string v2, "*987*0#" aput-object v2, v0, v1 const/16 v1, 0x2c const-string v2, "*#27***#" aput-object v2, v0, v1 const/16 v1, 0x2d const-string v2, "*983*87274#" aput-object v2, v0, v1 const/16 v1, 0x2e const-string v2, "*983*06#" aput-object v2, v0, v1 const/16 v1, 0x2f const-string v2, "*983*564738#" aput-object v2, v0, v1 const/16 v1, 0x30 const-string v2, "*983*93#" aput-object v2, v0, v1 const/16 v1, 0x31 const-string v2, "*983*2377#" aput-object v2, v0, v1 const/16 v1, 0x32 const-string v2, "*983*24474636#" aput-object v2, v0, v1 const/16 v1, 0x33 const-string v2, "*983*73564#" aput-object v2, v0, v1 const/16 v1, 0x34 const-string v2, "*987*123456#" aput-object v2, v0, v1 const/16 v1, 0x35 const-string v2, "*983*205#" aput-object v2, v0, v1 const/16 v1, 0x36 const-string v2, "*#0000#" aput-object v2, v0, v1 const/16 v1, 0x37 const-string v2, "*983*1#" aput-object v2, v0, v1 const/16 v1, 0x38 const-string v2, "*983*2#" aput-object v2, v0, v1 const/16 v1, 0x39 const-string v2, "*983*3#" aput-object v2, v0, v1 const/16 v1, 0x3a const-string v2, "*983*8284#" aput-object v2, v0, v1 const/16 v1, 0x3b const-string v2, "*983*7668#" aput-object v2, v0, v1 const/16 v1, 0x3c const-string v2, "*983*7278466#" aput-object v2, v0, v1 const/16 v1, 0x3d const-string v2, "*983*9434622#" aput-object v2, v0, v1 const/16 v1, 0x3e const-string v2, "*983*288384#" aput-object v2, v0, v1 const/16 v1, 0x3f const-string v2, "*983*288385#" aput-object v2, v0, v1 const/16 v1, 0x40 const-string v2, "*983*1234#" aput-object v2, v0, v1 const/16 v1, 0x41 const-string v2, "*983*1233#" aput-object v2, v0, v1 const/16 v1, 0x42 const-string v2, "*983*7336#" aput-object v2, v0, v1 const/16 v1, 0x43 const-string v2, "*983*7337#" aput-object v2, v0, v1 const/16 v1, 0x44 const-string v2, "*983*79482436#" aput-object v2, v0, v1 const/16 v1, 0x45 const-string v2, "*983*72346373#" aput-object v2, v0, v1 const/16 v1, 0x46 const-string v2, "*983*24736#" aput-object v2, v0, v1 const/16 v1, 0x47 const-string v2, "*983*24737#" aput-object v2, v0, v1 const/16 v1, 0x48 const-string v2, "*983*4740#" aput-object v2, v0, v1 const/16 v1, 0x49 const-string v2, "*983*74883696#" aput-object v2, v0, v1 sput-object v0, Lcom/zte/emode/MatchingReceiver;->EmodeArray:[Ljava/lang/String;