DialertabActivity.apk \ smali \ com \ sec \ android \ app \ dialertab \ dialer \ DialerActivity.smali
In this file, all the characters for the search are given in a similar way:
.line 1969
const-string v6, "2"
invoke-virtual {v5, v6}, Ljava / util / ArrayList; -> add (Ljava / lang / Object;) Z
.line 1970
const-string v6, "a"
invoke-virtual {v5, v6}, Ljava / util / ArrayList; -> add (Ljava / lang / Object;) Z
.line 1971
const-string v6, "b"
invoke-virtual {v5, v6}, Ljava / util / ArrayList; -> add (Ljava / lang / Object;) Z
.line 1972
const-string v6, "c"
invoke-virtual {v5, v6}, Ljava / util / ArrayList; -> add (Ljava / lang / Object;) Z
And just below:
.line 1976
.restart local v1 #cc: Ljava / lang / String;
const-string v6, "2"
invoke-virtual {v1, v6}, Ljava / lang / String; -> concat (Ljava / lang / String;) Ljava / lang / String;
move-result-object v6
invoke-virtual {v5, v6}, Ljava / util / ArrayList; -> add (Ljava / lang / Object;) Z
.line 1977
const-string v6, "a"
invoke-virtual {v1, v6}, Ljava / lang / String; -> concat (Ljava / lang / String;) Ljava / lang / String;
move-result-object v6
invoke-virtual {v5, v6}, Ljava / util / ArrayList; -> add (Ljava / lang / Object;) Z
.line 1978
const-string v6, "b"
invoke-virtual {v1, v6}, Ljava / lang / String; -> concat (Ljava / lang / String;) Ljava / lang / String;
move-result-object v6
invoke-virtual {v5, v6}, Ljava / util / ArrayList; -> add (Ljava / lang / Object;) Z
.line 1979
const-string v6, "c"
invoke-virtual {v1, v6}, Ljava / lang / String; -> concat (Ljava / lang / String;) Ljava / lang / String;
move-result-object v6
invoke-virtual {v5, v6}, Ljava / util / ArrayList; -> add (Ljava / lang / Object;) Z
Each character corresponds to several lines of code, and each character is given in two places. Without going into details, it can be understood that the code snippets above are the values ​​for the numeric key 2, on which Latin a, b and c are placed. For the rest of the keys is similar. To make it possible to search in Russian, you just need to write Russian characters in each key in the same way.
unicode. This means that in the code instead of the usual "a", "b", etc. will be: "\ u0410", "\ uo411", etc. The whole Russian alphabet:
\ u0410 A
\ u0411 B
\ u0412 V
\ u0413 G
\ u0414 D
\ u0415 E
\ u0401 E
\ u0416 F
\ u0417 W
\ u0418 And
\ u0419 nd
\ u041A K
\ u041B L
\ u041C M
\ u041D H
\ u041E About
\ u041F P
\ u0420 P
\ u0421 C
\ u0422 T
\ u0423
\ u0424 F
\ u0425 X
\ u0426 C
\ u0427 h
\ u0428 W
\ u0429 u
\ u042A b
\ u042B s
\ u042C b
\ u042D E
\ u042E Yu
\ u042F I
\ u0430 a
\ u0431 b
\ u0432 in
\ u0433 g
\ u0434 d
\ u0435 e
\ u0451 g
\ u0436
\ u0437 s
\ u0438 and
\ u0439 th
\ u043A to
\ u043B l
\ u043C m
\ u043D n
\ u043E o
\ u043F p
\ u0440 p
\ u0441 with
\ u0442 t
\ u0443
\ u0444 f
\ u0445 x
\ u0446 q
\ u0447 h
\ u0448 w
\ u0449 u
\ u044A СЉ
\ u044B s
\ u044C
\ u044D uh
\ u044E
\ u044F me
Visually, it looks like this:
On the screenshots you can see that the code corresponding to the Latin a, b and c on the two, is written (red) code for our A, B, C, D in Unicode. In addition to lines beginning with .line and const-string v6, all the others are repeated each time. Digit after each .line
must be unique for all codethis:
fguy @ 01/22/2011, 21:37
The Java tag that is used when reporting error messages, if you are afraid that the code you are inserting will have glitches enter any of your numbers and they will be in the log and make it easier for you to debug, and if you are sure that everything is good, just do not write anything.
Well, after each const-string v6 in quotes, our Russian characters are in Unicode. Described messy, but explained how I could, I can rejoice that remembering all this and manually editing each line is not necessary. In fact, everything is much simpler than it might seem at first glance, this can be seen by comparing two files of DialerActivity.smali, the first from deodexed JPY, the second from the same one, but already edited by me and with bolted search.
Pick up here:
dialersmali.rar(42.17 KB)
Compare, for example, in Total Commander by content, and all changes are evident. You can copy different pieces of code (without paying attention to any different single lines or pieces of code that do not correspond to the one described above - if such occur, simply ignore them). If the comparison of the content shows exactly 16 differences inside, then you can safely replace your DialerActivity.smali with mine, you do not need to rule anything at all.
Russian buttons are carried out by replacing the graphics in DialertabActivity.apk \ res \ drawable-hdpi \
For a standard skin:
digits.rar(50.96 KB)