[MOD]V5 Multilanguage T9 dialer


Acid

Scripting Ninja
Staff member
Aug 20, 2011
2,726
247
T9 mod is included in all miuiandroid roms, not only in multilang. And Miuipolska PL language packs don't have T9 mod as its already in miuiandroid base rom. I have MIUIPolska rom for MI2 and T9 is working.

Unless some device has different ContactsProvider structure. But I think not because MIUI apps are the same in xhdpi and hdpi.

Wysłane z Xiaomi MI 2
 

andreas_k

Members
Oct 1, 2011
21
11
Just minute ago i install dialer from Google play - Pixelphone by PiXELRUSH and t9 in polish language works fine. But question is what with dialer in miui...
 

voideq

Members
Jul 15, 2013
4
11
I installed rom from miuiandroi.com + full wipe and still not work.
I have only one contact with polish leter and i can't find them.
 

itai cherfas

Members
Dec 13, 2012
4
21
hi.
I tried to understand from the forum if it will work on my sgs3 but i couldn't....
I'm running the latest 3.7.12 (jb based) and I want the hebrew t9.
will the file from the 1st page will word? or do I need another one?

thanks
 

Babis_koz

Members
May 9, 2013
58
20
hi.
I tried to understand from the forum if it will work on my sgs3 but i couldn't....
I'm running the latest 3.7.12 (jb based) and I want the hebrew t9.
will the file from the 1st page will word? or do I need another one?

thanks
As roenano said :

"This mod is included on miuiandroid multilang rom, I don't know about other releases from other sites. "
 

itai cherfas

Members
Dec 13, 2012
4
21
I have the multilang rom, I have put it on local Hebrew and rebuild the contacts index(even did reset) but still I can't make the hebrew t9 work.....
 

andreYes

Members
Jul 24, 2013
2
11
roenano,
I've installed with full wipe the latest Multilang ROM (3.7.19) on Galaxy S2, and the T9 doesn't see Russian letters... With English letters and digits there is no problem. I've rebuilt the index, but it does not help...
 

nikkpap

Members
Jun 22, 2011
29
15
i finally manage to decompile with no mistakes the ContactsProvider.apk... but in the smali/com/android/provider/contacts/t9
i see the f.smali and h.smali but i dont see the T9Utils.smali what file i have to edit ... btw the rom version of min is 4.2.2 JDQ39 its a port v5 for nexus 4 http://forum.xda-developers.com/showthread.php?t=2327158 do i have to do anything more.. please help thanks
 

Nihat

Members
Jul 27, 2013
6
13
Hi,
I still have the problem ? solved the problem in Turkish?

I'm Using HTC Sensation 4G and MIUI v5 3.7.19

Turkish Characters:

Number 2 : ç - Ç
Number 4 : Ğ - ğ - ı - İ
Number 6 : ö - Ö
Number 7 : Ş - ş
Number 8 : ü - Ü
 

nikkpap

Members
Jun 22, 2011
29
15
For rom devs only!!
If you include it in your rom please give credit by linking to this thread. Thanks

It'll be a bit hard to automatize it because the code is obfuscated on some devices so if the guys in China add or remove one member or method all the names will change.
I've tried to make the implementation as easy as it can be so I moved all the related code to a separate class you need to add to ContactsProvider and just replace one method of one of the existing classes there to use the new code.

You need to decompile ContactsProvider.apk, go to smali/com/android/provider/contacts/t9 and open T9Utils.smali (f.smali or h.smali when obfuscated), there you will find a method ".method public static formatCharToT9(C)C" (or ".method public static b(C)C" when obfuscated) and replace its content with the below:
Code:
    .locals 1
    .parameter "c"
 
    .prologue
    .line 5
    invoke-static {p0}, Lcom/android/providers/contacts/t9/T9MultiUtils;->formatCharToT9(C)C  
 
    move-result v0
 
    return v0
All that remains to do is to copy the attached smali file T9MultiUtils.smali to the same folder.


hi i tried this on 3.8.2 multi and it did not work at all can anyone help.... i decompiled the caontactsprovider.apk and copy the t9multiutils.smali on C:\MIUI\_XIAOMI_MIUI_V5_APKMULTITOOL_1.0.11.3\projects\ContactsProvider.apk\smali\com\android\providers\contacts\t9 and then i replaced the code one the f.smali by searching for this .method public static b(C)C

before
Code:
.method public static b(C)C
    .locals 2
    .parameter
 
    .prologue
    .line 306
    const/4 v0, 0x0
 
    .line 307
    const/16 v1, 0x41
 
    if-lt p0, v1, :cond_1
 
    const/16 v1, 0x5a
 
    if-gt p0, v1, :cond_1
 
    .line 308
    sget-object v0, Lcom/android/providers/contacts/t9/f;->bJ:[C
 
    add-int/lit8 v1, p0, -0x41
 
    aget-char p0, v0, v1
 
    .line 316
    :cond_0
    :goto_0
    return p0
 
    .line 309
    :cond_1
    const/16 v1, 0x61
 
    if-lt p0, v1, :cond_2
 
    const/16 v1, 0x7a
 
    if-gt p0, v1, :cond_2
 
    .line 310
    sget-object v0, Lcom/android/providers/contacts/t9/f;->bJ:[C
 
    add-int/lit8 v1, p0, -0x61
 
    aget-char p0, v0, v1
 
    goto :goto_0
 
    .line 311
    :cond_2
    const/16 v1, 0x3105
 
    if-lt p0, v1, :cond_3
 
    const/16 v1, 0x3129
 
    if-gt p0, v1, :cond_3
 
    .line 312
    sget-object v0, Lcom/android/providers/contacts/t9/f;->bK:[C
 
    add-int/lit16 v1, p0, -0x3105
 
    aget-char p0, v0, v1
 
    goto :goto_0
 
    .line 313
    :cond_3
    invoke-static {p0}, Lcom/android/providers/contacts/t9/f;->a(C)Z
 
    move-result v1
 
    if-nez v1, :cond_0
 
    move p0, v0
 
    goto :goto_0
.end method
after
Code:
.method public static b(C)C
 .locals 1
    .parameter "c"
 
    .prologue
    .line 5
    invoke-static {p0}, Lcom/android/providers/contacts/t9/T9MultiUtils;->formatCharToT9(C)C  
 
    move-result v0
 
    return v0
.end method
compiled again and not working what i did wrong????

thanks in advance
 

nikkpap

Members
Jun 22, 2011
29
15
i want to ask if anyone can who knows java (smali) can help me to apply some mods i know all the procedure but i am making some mistakes (dont know where) cause in the latest 3.8.2 they made (xiomi) a huge changes in mms.apk and contactsprovider.apk.

if anyone is interest to help me please pm or nikkpap@gmail.com (hangout-google+-email) or nikkpap (skype)


thanks in advance
 

nikkpap

Members
Jun 22, 2011
29
15
yeap of course in what language... in English ???? we need the multilang mod from this threat not just to report if the t9 works so if you made any progress report correctly

thanks in advance...
 

Acid

Scripting Ninja
Staff member
Aug 20, 2011
2,726
247
Well usually T9 means here that user have working a dialing with special lang characters. I have it working with polish letters on my MI-2.
Some other devices have been fixed this week.
 

nikkpap

Members
Jun 22, 2011
29
15
we
Well usually T9 means here that user have working a dialing with special lang characters. I have it working with polish letters on my MI-2.
Some other devices have been fixed this week.
well i know that ... thanks for your effort man but 1st i have a nexus 4 port and 2nd i asked if we can apply a mod like the above on the newer version after the 3.8.2 cause had a major update as you know... so the Q is what i have to do to make it work ... plz help if you can.
 

nikkpap

Members
Jun 22, 2011
29
15
we

well i know that ... thanks for your effort man but 1st i have a nexus 4 port and 2nd i asked if we can apply a mod like the above on the newer version after the 3.8.2 cause had a major update as you know... so the Q is what i have to do to make it work ... plz help if you can.

i am not a coder only a user following guides and gurus like you... :)
 

andreas_k

Members
Oct 1, 2011
21
11
Yes, I can also confirm that after last update (3.8.16) on my Galaxy Note 2 T9 works fine in polish language.

Thanks!
 

nikkpap

Members
Jun 22, 2011
29
15
Yes, I can also confirm that after last update (3.8.16) on my Galaxy Note 2 T9 works fine in polish language.

Thanks!
I just mad a clean install with the latest release from here but in Greek lang it doesn't work ...
The only time it worked great was on 3.7.26 with the mod above..
But in newer version it cant be done ?????????!!!!!!!!!!!!
I also rebuild the index from settings but.... nothing please help me to apply the above mod in the latest
thanks