рдПрдХ рд╢реБрд░реБрдЖрдд рд╕реЗ рдПрдХ рд╢реБрд░реБрдЖрдд рддрдХ Android рдЖрд╡реЗрджрди рдХрд╛ рд╕рдВрд╢реЛрдзрди

рд╢реБрдн рджреЛрдкрд╣рд░
рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рдПрдбреНрд░реЛрдЗрдб рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдХреИрд╕реЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛, рдпрд╛ рдЗрд╕рдХреЗ рд▓реЗрд╡рд╛ рдУрдПрд╕ рдХреЗ рд╕рдВрд╢реЛрдзрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рдпрд╛ ред рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрдХ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдПрдВрдбреНрд░реЙрдЗрдб рд╕реЗ рдорд┐рд▓рд╛ рдерд╛, рдФрд░ рдореИрдВ рдпрд╣рд╛рдВ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдкреВрд░реЗ рдкрд╛рдареНрдпрдХреНрд░рдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рдЬреЛ рдирд┐рд╕реНрд╕рдВрджреЗрд╣ рдЙрди рд╕рднреА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдВрдЧреЗ рдЬреЛ рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред рдореИрдВ рдкреЛрд╕реНрдЯ рдХреЛ рд╡рд┐рд╕реНрддреГрдд рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рд▓рдВрдмреЗ рд╕рдордп рддрдХред

рдПрдХ рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рдереЛрдбрд╝рд╛ рдЗрддрд┐рд╣рд╛рд╕ред


рдЬреИрд╕реЗ рд╣реА рдореБрдЭреЗ рдЕрдкрдирд╛ рдкрд╣рд▓рд╛ рдЪреАрди рдлреЛрди рдорд┐рд▓рд╛, рдореИрдВрдиреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝рд░реНрдорд╡реЗрдпрд░ рдЖрдЬрд╝рдорд╛рдиреЗ рдХрд╛ рдлрд╝реИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд▓реЗрд╡рд╛ рдкрд░ рдмрд╕ рдЧрдпрд╛ред рд▓реЗрдХрд┐рди рдЙрд╕рдХреА рдЖрдБрдЦреЗрдВ рд▓рдЧрд╛рддрд╛рд░ рдЙрд╕рдХреА рдПрдХ рдЦрд╛рдореА - рд╕рдВрдкрд░реНрдХ рд╕реВрдЪреА, рдпрд╛ рдмрд▓реНрдХрд┐, рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдЕрдкреАрд▓ рдХреА рдЧрдИрдВред


рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреНрдпрд╛рджрд╛ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЦреБрдж рдХреЛ рдЦреЛрджрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред

рдЯреВрд▓ рдХрд┐рдЯ


рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХреИрд╕реЗ рдЕрдирдкреИрдХ рдХрд░рдирд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП:


рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ


рддреЛ, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╣рдореЗрдВ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдкреАрдХреЗ рдХреЗ рд╕рд╛рде рд╕рднреА рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдХреЙрдкреА рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╕рднреА рдПрдкреАрдХреЗ рдЬреЛ рдХрд┐ / рд╕рд┐рд╕реНрдЯрдо / рдлреНрд░реЗрдорд╡рд░реНрдХ / рдореЗрдВ рдереЗ, рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рдЭреБрдХрд╛ рд╣реБрдЖ рдФрд░ рдПрдкреАрдХреЗрдЯреВрд▓-рдЖрдИрдПрдл рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рдмреИрдЯ'рдирд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЦреЛрд▓рд╛ рдЬрд╛ рд╕рдХреЗред PIM.apk рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдЦреЛрд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕реЗ рдХрд┐ APKtool-d.cmd рдХреЗ рд╕рд╛рдеред рдирддреАрдЬрддрди, рд╣рдо рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдЕрдирдкреИрдХреНрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред

рдХреЛрдб рд╕реАрдЦрдирд╛


рдкрд╣рд▓реА рдмрд╛рдд рд╣рдореЗрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдФрд░ рдХрд╣рд╛рдВ рд╢рд╛рд╕рди рдХрд░рдирд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдореЗрд░реА рд╕рдВрдкрд░реНрдХ рд╕реВрдЪреА рд░реВрд╕реА рдирд╛рдореЛрдВ рд╕реЗ рднрд░реА рд╣реБрдИ рд╣реИ, рдФрд░ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреА рдЧрддрд┐ рдореЗрдВ, рдХреБрдЫ рдЕрдВрдЧреНрд░реЗрдЬреА рдЕрдХреНрд╖рд░ рдпрд╣ рдорд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдЕрдХреНрд╖рд░реЛрдВ рдХреЛ рдХреЛрдб рдореЗрдВ рдХрд╣реАрдВ-рдХрд╣реАрдВ рд╣рд╛рд░реНрдб-рдХреЛрдбрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЙрди рдирд╛рдореЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рд╕рдВрдкрд░реНрдХреЛрдВ рдореЗрдВ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░, рдЗрд╕ рддрд░рд╣ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рд░рд┐рд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдмрд▓реНрдХрд┐ res \ values тАЛтАЛ\ arrays.xml рдореЗрдВ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд╣рд╛рдБ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИред
рд╣рдо рдЖрдЧреЗ рд╕реЛрдЪрддреЗ рд╣реИрдВ - рдЪреВрдВрдХрд┐ рдпрд╣ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХреЛрдб рдореЗрдВ рдХрд╣реАрдВ рд╣реИред рд╕рднреА рдХреЛрдб рд╕реНрдорд╛рд▓ рдбреИрдб рдореЗрдВ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рддрдерд╛рдХрдерд┐рдд рдмрд╛рдЗрдЯ рдХреЛрдб рд╣реИ , рдФрд░ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╣реИрдВред рддреЛ рдХрд╣рд╛рдБ рджреЗрдЦрдирд╛ рд╣реИ? рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛, рд╣рдорд╛рд░реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд╕рднреА "рд╡рд┐рдВрдбреЛ" рдХреЛ рд░рд┐рд╕ \ _ \ _ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рд╕рдВрдкрд░реНрдХ рд╕реВрдЪреА рдореЗрдВ рдХрд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ contact_list_content.xml рдЦреЛрд▓рд╛ рдФрд░ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред

contact_list_content.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout android:orientation="vertical" android:id="@id/pinned_header_list_layout" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <include android:id="@id/account_filter_header_container" layout="@layout/account_filter_header" /> <include layout="@layout/wait_cursor" /> <FrameLayout android:id="@id/contact_list_framelayout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0"> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <view android:id="@android:id/list" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1.0" android:fastScrollEnabled="true" class="com.lewa.PIM.contacts.widget.PinnedHeaderListView" /> <LinearLayout android:orientation="vertical" android:id="@id/import_layout" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="300.0dip" android:layout_marginBottom="@dimen/prompt_import_layout_bottom"> <TextView android:textSize="16.0sp" android:gravity="center" android:layout_gravity="center_horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/prompt_no_contacts_pepole" /> <Button android:textSize="14.0sp" android:gravity="center" android:layout_gravity="center_horizontal" android:id="@id/btn_login_lewa_account" android:layout_width="140.0dip" android:layout_height="wrap_content" android:layout_marginTop="18.0dip" android:text="@string/login_lewa_account" /> <Button android:textSize="14.0sp" android:gravity="center" android:layout_gravity="center_horizontal" android:id="@id/btn_import_from_sim" android:layout_width="140.0dip" android:layout_height="wrap_content" android:layout_marginTop="18.0dip" android:text="@string/import_from_sim" /> <Button android:textSize="14.0sp" android:gravity="center" android:layout_gravity="center_horizontal" android:id="@id/btn_import_from_sdcard" android:layout_width="140.0dip" android:layout_height="wrap_content" android:layout_marginTop="18.0dip" android:text="@string/import_from_sdcard" /> </LinearLayout> </LinearLayout> <include layout="@layout/alphabet_fast_indexer" /> </FrameLayout> <ViewStub android:id="@id/footer_stub" android:layout="@layout/footer_panel" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout> 

рд╡рд╣рд╛рдВ рдореБрдЭреЗ рд▓рд╛рдЗрди рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рдереА
 <include layout="@layout/alphabet_fast_indexer" /> 
ред рдпрд╣ рдХрд┐рд╕ рддрд░рд╣ рдХрд╛ рдЗрдВрдбреЗрдХреНрд╕ рд╣реИ ?? рдирдЬрд╝рд░

alphabet_fast_indexer.xml
 <?xml version="1.0" encoding="utf-8"?> <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <TextView android:textSize="32.0sp" android:textColor="?android:textColorPrimaryInverse" android:gravity="center" android:layout_gravity="right|center" android:id="@id/fast_indexer_pop_text_view" android:background="@android:color/holo_blue_light" android:visibility="gone" android:layout_width="48.0dip" android:layout_height="48.0dip" android:layout_marginRight="60.0dip" /> <com.lewa.PIM.widget.AlphabetFastIndexer android:layout_gravity="right" android:id="@id/fast_indexer" android:layout_width="20.0dip" android:layout_height="fill_parent" /> </FrameLayout> 

рдпрд╣рд╛рдБ рдкреНрд░рдореБрдЦ рдмрд┐рдВрджреБ рд╣реИрдВ
<com.lewa.PIM.widget.AlphabetFastIndexer Android: layout_gravity = "right" android: id = "@ id / fast_indexer" Android: Layout_width = "20.0dip": layout_height = "fill_parent" />
рдпрд╣ рдХреМрди рд╕рд╛ рддрддреНрд╡ рд╣реИ рдЬреЛ рд╕реНрдХреНрд░реАрди рдХреЗ рджрд╛рдИрдВ рдУрд░ рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (Android: Layout_gravity = "right") , рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ?
com.lewa.PIM.widget.AlphabetFastIndexer рдХреЛрдб рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджрд░реНрдн рдкреАрдЖрдИрдПрдо \ smali \ рдХреЙрдо \ рд▓реЗрд╡рд╛ \ рдкреАрдЖрдИрдПрдо \ рд╡рд┐рдЬреЗрдЯ \ AlphabetFastIndexer.smali, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдФрд░ рд╡рд╣рд╛рдБ рдЦреЗрд▓рдиреЗ рдПрдХ рдЧреБрдЪреНрдЫрд╛ dex2jar-0.0.9.7 рдЬрдж-рдЬреАрдпреВрдЖрдИ-0.3 рдореЗрдВ рдЖрддрд╛ рд╣реИ рд╕реАрдЦрдиреЗ .3.windows рдЬреЛ рд╣рдордиреЗ рдПрдХ рдордВрдЪ рдкреЛрд╕реНрдЯ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рднреА рд╕реАрдЦрд╛ рд╣реИ рдХрд┐ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред Classes.dex рдХреЛ classes_dex2jar.jar рдореЗрдВ рдмрджрд▓реЗрдВ рдФрд░ рдЗрд╕реЗ jd-gui.exe рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЛрд▓реЗрдВ

рдЕрд▓реНрдлрд╛рдмреЗрдЯрдлреИрд╕реНрдЯрдЗрдВрдбреЗрдХреНрд╕рд░.рд╕реНрдорд╛рд▓реА рдбрд┐рдХрдореНрдкреЛрдЬреНрдб
 package com.lewa.PIM.widget; import android.content.Context; import android.content.res.Resources; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Typeface; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; import java.util.ArrayList; public class AlphabetFastIndexer extends View { public static String[] b = { "тШЕ", "#", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" }; private int choose = 0; private int mChooseColor; private boolean mHasFav = true; private ArrayList<String> mLetters = new ArrayList(); private int mPaddingBottom; private int mTextsize; OnTouchingLetterChangedListener onTouchingLetterChangedListener; private Paint paint = new Paint(); private boolean showBkg = false; public AlphabetFastIndexer(Context paramContext) { super(paramContext); init(paramContext); setHasFavorite(false); } public AlphabetFastIndexer(Context paramContext, AttributeSet paramAttributeSet) { super(paramContext, paramAttributeSet); init(paramContext); setHasFavorite(false); } public AlphabetFastIndexer(Context paramContext, AttributeSet paramAttributeSet, int paramInt) { super(paramContext, paramAttributeSet, paramInt); init(paramContext); setHasFavorite(false); } private void init(Context paramContext) { this.mChooseColor = paramContext.getResources().getColor(17170450); this.mTextsize = paramContext.getResources().getDimensionPixelSize(2131361937); this.mPaddingBottom = paramContext.getResources().getDimensionPixelSize(2131361938); } public boolean dispatchTouchEvent(MotionEvent paramMotionEvent) { int i = paramMotionEvent.getAction(); int j = (int)(paramMotionEvent.getY() / getHeight() * this.mLetters.size()); switch (i) { default: return true; case 0: this.showBkg = true; case 2: drawThumb(j); return true; case 1: } this.showBkg = false; invalidate(); return true; } public void drawThumb(int paramInt) { OnTouchingLetterChangedListener localOnTouchingLetterChangedListener = this.onTouchingLetterChangedListener; if ((this.choose != paramInt) && (localOnTouchingLetterChangedListener != null) && (paramInt >= 0) && (paramInt < this.mLetters.size())) { if (localOnTouchingLetterChangedListener != null) localOnTouchingLetterChangedListener.onTouchingLetterChanged((String)this.mLetters.get(paramInt)); this.choose = paramInt; invalidate(); } } public void drawThumb(String paramString) { if ((paramString != null) && (!paramString.equals(this.mLetters.get(this.choose)))) { int i = this.mLetters.indexOf(paramString); if (i == -1) i = 0; if (this.choose != i) { this.choose = i; invalidate(); } } } protected void onDraw(Canvas paramCanvas) { super.onDraw(paramCanvas); if (this.showBkg) paramCanvas.drawColor(Color.parseColor("#4C000000")); while (true) { int i = getHeight(); int j = getWidth(); int k = this.mLetters.size(); int m = i / k; for (int n = 0; n < k; n++) { this.paint.setColor(-1); this.paint.setTypeface(Typeface.DEFAULT_BOLD); this.paint.setAntiAlias(true); this.paint.setTextSize(this.mTextsize); if (n == this.choose) { this.paint.setColor(this.mChooseColor); this.paint.setFakeBoldText(true); } String str = (String)this.mLetters.get(n); paramCanvas.drawText(str, j / 2 - this.paint.measureText(str) / 2.0F, m + m * n, this.paint); this.paint.reset(); } paramCanvas.drawColor(Color.parseColor("#26000000")); } } protected void onMeasure(int paramInt1, int paramInt2) { if (this.mHasFav) paramInt2 -= this.mPaddingBottom; setMeasuredDimension(paramInt1, paramInt2); } public boolean onTouchEvent(MotionEvent paramMotionEvent) { return super.onTouchEvent(paramMotionEvent); } public void setHasFavorite(boolean paramBoolean) { int k; if (this.mHasFav != paramBoolean) { this.mHasFav = paramBoolean; this.mLetters.clear(); String[] arrayOfString = b; int i = arrayOfString.length; int j = 0; if (j < i) { String str = arrayOfString[j]; if ((!paramBoolean) && (str.equals("тШЕ"))); while (true) { j++; break; this.mLetters.add(str); } } if (this.choose != 0) { if (!paramBoolean) break label117; k = 1 + this.choose; this.choose = k; } if (this.choose >= 0) break label128; this.choose = 0; } while (true) { requestLayout(); return; label117: k = -1 + this.choose; break; label128: if (this.choose >= this.mLetters.size()) this.choose = (-1 + this.mLetters.size()); } } public void setOnTouchingLetterChangedListener(OnTouchingLetterChangedListener paramOnTouchingLetterChangedListener) { this.onTouchingLetterChangedListener = paramOnTouchingLetterChangedListener; } public static abstract interface OnTouchingLetterChangedListener { public abstract void onTouchingLetterChanged(String paramString); } } 

рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ - рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдереИрддрд┐рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ [] рдмреА = {"тШЕ", "#", "рдП", "рдмреА", "рд╕реА", "рдбреА", "рдИ", "рдПрдл", "рдЬреА", "рдПрдЪред "," I "," J "," K "," L "," M "," N "," O "," P "," Q "," R "," S "," T "," "рдпреВ", "рд╡реА", "рдбрдмреНрд▓реНрдпреВ", "рдПрдХреНрд╕", "рд╡рд╛рдИ", "рдЬреЗрдб"}; !!! рд▓реЗрдХрд┐рди рдпрд╣реАрдВ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рд╡рд┐рдШрдЯрд┐рдд рдХреЛрдб рдЕрдиреБрдорд╛рдирд┐рдд рд╣реИ, рдФрд░ рдпрд╣ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рд╡рд╛рдкрд╕ рдЖрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП PIM \ smali \ com \ lewa \ PIM \ рд╡рд┐рдЬреЗрдЯ \ AlphabetFastIndexer.smali рдореЗрдВ рдмрд╛рдЗрдЯ рдХреЛрдб рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
AlphabetFastIndexer.smali
 .class public Lcom/lewa/PIM/widget/AlphabetFastIndexer; .super Landroid/view/View; .source "AlphabetFastIndexer.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/lewa/PIM/widget/AlphabetFastIndexer$OnTouchingLetterChangedListener; } .end annotation # static fields .field public static b:[Ljava/lang/String; # instance fields .field private choose:I .field private mChooseColor:I .field private mHasFav:Z .field private mLetters:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList", "<", "Ljava/lang/String;", ">;" } .end annotation .end field .field private mPaddingBottom:I .field private mTextsize:I .field onTouchingLetterChangedListener:Lcom/lewa/PIM/widget/AlphabetFastIndexer$OnTouchingLetterChangedListener; .field private paint:Landroid/graphics/Paint; .field private showBkg:Z # direct methods .method static constructor <clinit>()V .locals 3 .prologue .line 19 const/16 v0, 0x1c new-array v0, v0, [Ljava/lang/String; const/4 v1, 0x0 const-string v2, "\u2605" aput-object v2, v0, v1 const/4 v1, 0x1 const-string v2, "#" aput-object v2, v0, v1 const/4 v1, 0x2 const-string v2, "A" aput-object v2, v0, v1 const/4 v1, 0x3 const-string v2, "B" aput-object v2, v0, v1 const/4 v1, 0x4 const-string v2, "C" aput-object v2, v0, v1 const/4 v1, 0x5 const-string v2, "D" aput-object v2, v0, v1 const/4 v1, 0x6 const-string v2, "E" aput-object v2, v0, v1 const/4 v1, 0x7 const-string v2, "F" aput-object v2, v0, v1 const/16 v1, 0x8 const-string v2, "G" aput-object v2, v0, v1 const/16 v1, 0x9 const-string v2, "H" aput-object v2, v0, v1 const/16 v1, 0xa const-string v2, "I" aput-object v2, v0, v1 const/16 v1, 0xb const-string v2, "J" aput-object v2, v0, v1 const/16 v1, 0xc const-string v2, "K" aput-object v2, v0, v1 const/16 v1, 0xd const-string v2, "L" aput-object v2, v0, v1 const/16 v1, 0xe const-string v2, "M" aput-object v2, v0, v1 const/16 v1, 0xf const-string v2, "N" aput-object v2, v0, v1 const/16 v1, 0x10 const-string v2, "O" aput-object v2, v0, v1 const/16 v1, 0x11 const-string v2, "P" aput-object v2, v0, v1 const/16 v1, 0x12 const-string v2, "Q" aput-object v2, v0, v1 const/16 v1, 0x13 const-string v2, "R" aput-object v2, v0, v1 const/16 v1, 0x14 const-string v2, "S" aput-object v2, v0, v1 const/16 v1, 0x15 const-string v2, "T" aput-object v2, v0, v1 const/16 v1, 0x16 const-string v2, "U" aput-object v2, v0, v1 const/16 v1, 0x17 const-string v2, "V" aput-object v2, v0, v1 const/16 v1, 0x18 const-string v2, "W" aput-object v2, v0, v1 const/16 v1, 0x19 const-string v2, "X" aput-object v2, v0, v1 const/16 v1, 0x1a const-string v2, "Y" aput-object v2, v0, v1 const/16 v1, 0x1b const-string v2, "Z" aput-object v2, v0, v1 sput-object v0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->b:[Ljava/lang/String; return-void .end method .method public constructor <init>(Landroid/content/Context;)V .locals 2 .parameter "context" .prologue const/4 v1, 0x0 .line 44 invoke-direct {p0, p1}, Landroid/view/View;-><init>(Landroid/content/Context;)V .line 22 iput v1, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->choose:I .line 23 new-instance v0, Landroid/graphics/Paint; invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V iput-object v0, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->paint:Landroid/graphics/Paint; .line 27 const/4 v0, 0x1 iput-boolean v0, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mHasFav:Z .line 29 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V iput-object v0, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mLetters:Ljava/util/ArrayList; .line 112 iput-boolean v1, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->showBkg:Z .line 45 invoke-direct {p0, p1}, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->init(Landroid/content/Context;)V .line 46 invoke-virtual {p0, v1}, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->setHasFavorite(Z)V .line 47 return-void .end method .method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 2 .parameter "context" .parameter "attrs" .prologue const/4 v1, 0x0 .line 38 invoke-direct {p0, p1, p2}, Landroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V .line 22 iput v1, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->choose:I .line 23 new-instance v0, Landroid/graphics/Paint; invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V iput-object v0, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->paint:Landroid/graphics/Paint; .line 27 const/4 v0, 0x1 iput-boolean v0, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mHasFav:Z .line 29 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V iput-object v0, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mLetters:Ljava/util/ArrayList; .line 112 iput-boolean v1, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->showBkg:Z .line 39 invoke-direct {p0, p1}, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->init(Landroid/content/Context;)V .line 40 invoke-virtual {p0, v1}, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->setHasFavorite(Z)V .line 41 return-void .end method .method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V .locals 2 .parameter "context" .parameter "attrs" .parameter "defStyle" .prologue const/4 v1, 0x0 .line 32 invoke-direct {p0, p1, p2, p3}, Landroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V .line 22 iput v1, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->choose:I .line 23 new-instance v0, Landroid/graphics/Paint; invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V iput-object v0, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->paint:Landroid/graphics/Paint; .line 27 const/4 v0, 0x1 iput-boolean v0, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mHasFav:Z .line 29 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V iput-object v0, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mLetters:Ljava/util/ArrayList; .line 112 iput-boolean v1, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->showBkg:Z .line 33 invoke-direct {p0, p1}, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->init(Landroid/content/Context;)V .line 34 invoke-virtual {p0, v1}, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->setHasFavorite(Z)V .line 35 return-void .end method .method private init(Landroid/content/Context;)V .locals 2 .parameter "context" .prologue .line 50 invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object v0 const v1, 0x1060012 invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getColor(I)I move-result v0 iput v0, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mChooseColor:I .line 51 invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object v0 const v1, 0x7f0a0091 invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I move-result v0 iput v0, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mTextsize:I .line 52 invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object v0 const v1, 0x7f0a0092 invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I move-result v0 iput v0, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mPaddingBottom:I .line 53 return-void .end method # virtual methods .method public dispatchTouchEvent(Landroid/view/MotionEvent;)Z .locals 6 .parameter "event" .prologue const/4 v5, 0x1 .line 116 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v0 .line 117 .local v0, action:I invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result v2 .line 118 .local v2, y:F invoke-virtual {p0}, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->getHeight()I move-result v3 int-to-float v3, v3 div-float v3, v2, v3 iget-object v4, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mLetters:Ljava/util/ArrayList; invoke-virtual {v4}, Ljava/util/ArrayList;->size()I move-result v4 int-to-float v4, v4 mul-float/2addr v3, v4 float-to-int v1, v3 .line 120 .local v1, c:I packed-switch v0, :pswitch_data_0 .line 143 :goto_0 return v5 .line 122 :pswitch_0 iput-boolean v5, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->showBkg:Z .line 135 :pswitch_1 invoke-virtual {p0, v1}, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->drawThumb(I)V goto :goto_0 .line 138 :pswitch_2 const/4 v3, 0x0 iput-boolean v3, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->showBkg:Z .line 140 invoke-virtual {p0}, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->invalidate()V goto :goto_0 .line 120 :pswitch_data_0 .packed-switch 0x0 :pswitch_0 :pswitch_2 :pswitch_1 .end packed-switch .end method .method public drawThumb(I)V .locals 2 .parameter "position" .prologue .line 152 iget-object v0, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->onTouchingLetterChangedListener:Lcom/lewa/PIM/widget/AlphabetFastIndexer$OnTouchingLetterChangedListener; .line 153 .local v0, listener:Lcom/lewa/PIM/widget/AlphabetFastIndexer$OnTouchingLetterChangedListener; iget v1, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->choose:I if-eq v1, p1, :cond_1 if-eqz v0, :cond_1 .line 154 if-ltz p1, :cond_1 iget-object v1, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mLetters:Ljava/util/ArrayList; invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v1 if-ge p1, v1, :cond_1 .line 155 if-eqz v0, :cond_0 .line 156 iget-object v1, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mLetters:Ljava/util/ArrayList; invoke-virtual {v1, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/String; invoke-interface {v0, v1}, Lcom/lewa/PIM/widget/AlphabetFastIndexer$OnTouchingLetterChangedListener;->onTouchingLetterChanged(Ljava/lang/String;)V .line 158 :cond_0 iput p1, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->choose:I .line 159 invoke-virtual {p0}, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->invalidate()V .line 162 :cond_1 return-void .end method .method public drawThumb(Ljava/lang/String;)V .locals 3 .parameter "letter" .prologue .line 165 if-eqz p1, :cond_1 iget-object v1, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mLetters:Ljava/util/ArrayList; iget v2, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->choose:I invoke-virtual {v1, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v1 invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v1 if-nez v1, :cond_1 .line 166 iget-object v1, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mLetters:Ljava/util/ArrayList; invoke-virtual {v1, p1}, Ljava/util/ArrayList;->indexOf(Ljava/lang/Object;)I move-result v0 .line 167 .local v0, i:I const/4 v1, -0x1 if-ne v0, v1, :cond_0 const/4 v0, 0x0 .line 168 :cond_0 iget v1, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->choose:I if-eq v1, v0, :cond_1 .line 169 iput v0, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->choose:I .line 170 invoke-virtual {p0}, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->invalidate()V .line 173 .end local v0 #i:I :cond_1 return-void .end method .method protected onDraw(Landroid/graphics/Canvas;)V .locals 12 .parameter "canvas" .prologue const/4 v11, 0x1 .line 83 invoke-super {p0, p1}, Landroid/view/View;->onDraw(Landroid/graphics/Canvas;)V .line 84 iget-boolean v8, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->showBkg:Z if-eqz v8, :cond_1 .line 85 const-string v8, "#4C000000" invoke-static {v8}, Landroid/graphics/Color;->parseColor(Ljava/lang/String;)I move-result v8 invoke-virtual {p1, v8}, Landroid/graphics/Canvas;->drawColor(I)V .line 90 :goto_0 invoke-virtual {p0}, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->getHeight()I move-result v0 .line 91 .local v0, height:I invoke-virtual {p0}, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->getWidth()I move-result v5 .line 92 .local v5, width:I iget-object v8, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mLetters:Ljava/util/ArrayList; invoke-virtual {v8}, Ljava/util/ArrayList;->size()I move-result v4 .line 93 .local v4, size:I div-int v3, v0, v4 .line 94 .local v3, singleHeight:I const/4 v1, 0x0 .local v1, i:I :goto_1 if-ge v1, v4, :cond_2 .line 95 iget-object v8, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->paint:Landroid/graphics/Paint; const/4 v9, -0x1 invoke-virtual {v8, v9}, Landroid/graphics/Paint;->setColor(I)V .line 96 iget-object v8, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->paint:Landroid/graphics/Paint; sget-object v9, Landroid/graphics/Typeface;->DEFAULT_BOLD:Landroid/graphics/Typeface; invoke-virtual {v8, v9}, Landroid/graphics/Paint;->setTypeface(Landroid/graphics/Typeface;)Landroid/graphics/Typeface; .line 97 iget-object v8, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->paint:Landroid/graphics/Paint; invoke-virtual {v8, v11}, Landroid/graphics/Paint;->setAntiAlias(Z)V .line 98 iget-object v8, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->paint:Landroid/graphics/Paint; iget v9, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mTextsize:I int-to-float v9, v9 invoke-virtual {v8, v9}, Landroid/graphics/Paint;->setTextSize(F)V .line 99 iget v8, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->choose:I if-ne v1, v8, :cond_0 .line 100 iget-object v8, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->paint:Landroid/graphics/Paint; iget v9, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mChooseColor:I invoke-virtual {v8, v9}, Landroid/graphics/Paint;->setColor(I)V .line 101 iget-object v8, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->paint:Landroid/graphics/Paint; invoke-virtual {v8, v11}, Landroid/graphics/Paint;->setFakeBoldText(Z)V .line 103 :cond_0 iget-object v8, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mLetters:Ljava/util/ArrayList; invoke-virtual {v8, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/lang/String; .line 104 .local v2, letterStr:Ljava/lang/String; div-int/lit8 v8, v5, 0x2 int-to-float v8, v8 iget-object v9, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->paint:Landroid/graphics/Paint; invoke-virtual {v9, v2}, Landroid/graphics/Paint;->measureText(Ljava/lang/String;)F move-result v9 const/high16 v10, 0x4000 div-float/2addr v9, v10 sub-float v6, v8, v9 .line 105 .local v6, xPos:F mul-int v8, v3, v1 add-int/2addr v8, v3 int-to-float v7, v8 .line 106 .local v7, yPos:F iget-object v8, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->paint:Landroid/graphics/Paint; invoke-virtual {p1, v2, v6, v7, v8}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V .line 107 iget-object v8, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->paint:Landroid/graphics/Paint; invoke-virtual {v8}, Landroid/graphics/Paint;->reset()V .line 94 add-int/lit8 v1, v1, 0x1 goto :goto_1 .line 87 .end local v0 #height:I .end local v1 #i:I .end local v2 #letterStr:Ljava/lang/String; .end local v3 #singleHeight:I .end local v4 #size:I .end local v5 #width:I .end local v6 #xPos:F .end local v7 #yPos:F :cond_1 const-string v8, "#26000000" invoke-static {v8}, Landroid/graphics/Color;->parseColor(Ljava/lang/String;)I move-result v8 invoke-virtual {p1, v8}, Landroid/graphics/Canvas;->drawColor(I)V goto :goto_0 .line 110 .restart local v0 #height:I .restart local v1 #i:I .restart local v3 #singleHeight:I .restart local v4 #size:I .restart local v5 #width:I :cond_2 return-void .end method .method protected onMeasure(II)V .locals 1 .parameter "widthMeasureSpec" .parameter "heightMeasureSpec" .prologue .line 77 iget-boolean v0, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mHasFav:Z if-eqz v0, :cond_0 iget v0, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mPaddingBottom:I sub-int/2addr p2, v0 .end local p2 :cond_0 invoke-virtual {p0, p1, p2}, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->setMeasuredDimension(II)V .line 78 return-void .end method .method public onTouchEvent(Landroid/view/MotionEvent;)Z .locals 1 .parameter "event" .prologue .line 148 invoke-super {p0, p1}, Landroid/view/View;->onTouchEvent(Landroid/view/MotionEvent;)Z move-result v0 return v0 .end method .method public setHasFavorite(Z)V .locals 6 .parameter "hasFav" .prologue .line 56 iget-boolean v4, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mHasFav:Z if-eq v4, p1, :cond_4 .line 57 iput-boolean p1, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mHasFav:Z .line 58 iget-object v4, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mLetters:Ljava/util/ArrayList; invoke-virtual {v4}, Ljava/util/ArrayList;->clear()V .line 59 sget-object v0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->b:[Ljava/lang/String; .local v0, arr$:[Ljava/lang/String; array-length v2, v0 .local v2, len$:I const/4 v1, 0x0 .local v1, i$:I :goto_0 if-ge v1, v2, :cond_1 aget-object v3, v0, v1 .line 60 .local v3, letter:Ljava/lang/String; if-nez p1, :cond_0 const-string v4, "\u2605" invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v4 if-eqz v4, :cond_0 .line 59 :goto_1 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 62 :cond_0 iget-object v4, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mLetters:Ljava/util/ArrayList; invoke-virtual {v4, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z goto :goto_1 .line 64 .end local v3 #letter:Ljava/lang/String; :cond_1 iget v4, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->choose:I if-eqz v4, :cond_2 if-eqz p1, :cond_5 iget v4, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->choose:I add-int/lit8 v4, v4, 0x1 :goto_2 iput v4, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->choose:I .line 65 :cond_2 iget v4, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->choose:I if-gez v4, :cond_6 const/4 v4, 0x0 iput v4, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->choose:I .line 68 :cond_3 :goto_3 invoke-virtual {p0}, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->requestLayout()V .line 70 .end local v0 #arr$:[Ljava/lang/String; .end local v1 #i$:I .end local v2 #len$:I :cond_4 return-void .line 64 .restart local v0 #arr$:[Ljava/lang/String; .restart local v1 #i$:I .restart local v2 #len$:I :cond_5 iget v4, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->choose:I add-int/lit8 v4, v4, -0x1 goto :goto_2 .line 66 :cond_6 iget v4, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->choose:I iget-object v5, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mLetters:Ljava/util/ArrayList; invoke-virtual {v5}, Ljava/util/ArrayList;->size()I move-result v5 if-lt v4, v5, :cond_3 iget-object v4, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->mLetters:Ljava/util/ArrayList; invoke-virtual {v4}, Ljava/util/ArrayList;->size()I move-result v4 add-int/lit8 v4, v4, -0x1 iput v4, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->choose:I goto :goto_3 .end method .method public setOnTouchingLetterChangedListener(Lcom/lewa/PIM/widget/AlphabetFastIndexer$OnTouchingLetterChangedListener;)V .locals 0 .parameter "onTouchingLetterChangedListener" .prologue .line 181 iput-object p1, p0, Lcom/lewa/PIM/widget/AlphabetFastIndexer;->onTouchingLetterChangedListener:Lcom/lewa/PIM/widget/AlphabetFastIndexer$OnTouchingLetterChangedListener; .line 182 return-void .end method 

рдпрд╣рд╛рдВ рд╣рдо рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ
AlphabetFastIndexer.smali
 const/16 v0, 0x1c new-array v0, v0, [Ljava/lang/String; const/4 v1, 0x0 const-string v2, "\u2605" aput-object v2, v0, v1 const/4 v1, 0x1 const-string v2, "#" aput-object v2, v0, v1 const/4 v1, 0x2 const-string v2, "A" aput-object v2, v0, v1 const/4 v1, 0x3 const-string v2, "B" aput-object v2, v0, v1 const/4 v1, 0x4 const-string v2, "C" aput-object v2, v0, v1 const/4 v1, 0x5 const-string v2, "D" aput-object v2, v0, v1 const/4 v1, 0x6 const-string v2, "E" aput-object v2, v0, v1 const/4 v1, 0x7 const-string v2, "F" aput-object v2, v0, v1 const/16 v1, 0x8 const-string v2, "G" aput-object v2, v0, v1 const/16 v1, 0x9 const-string v2, "H" aput-object v2, v0, v1 const/16 v1, 0xa const-string v2, "I" aput-object v2, v0, v1 const/16 v1, 0xb const-string v2, "J" aput-object v2, v0, v1 const/16 v1, 0xc const-string v2, "K" aput-object v2, v0, v1 const/16 v1, 0xd const-string v2, "L" aput-object v2, v0, v1 const/16 v1, 0xe const-string v2, "M" aput-object v2, v0, v1 const/16 v1, 0xf const-string v2, "N" aput-object v2, v0, v1 const/16 v1, 0x10 const-string v2, "O" aput-object v2, v0, v1 const/16 v1, 0x11 const-string v2, "P" aput-object v2, v0, v1 const/16 v1, 0x12 const-string v2, "Q" aput-object v2, v0, v1 const/16 v1, 0x13 const-string v2, "R" aput-object v2, v0, v1 const/16 v1, 0x14 const-string v2, "S" aput-object v2, v0, v1 const/16 v1, 0x15 const-string v2, "T" aput-object v2, v0, v1 const/16 v1, 0x16 const-string v2, "U" aput-object v2, v0, v1 const/16 v1, 0x17 const-string v2, "V" aput-object v2, v0, v1 const/16 v1, 0x18 const-string v2, "W" aput-object v2, v0, v1 const/16 v1, 0x19 const-string v2, "X" aput-object v2, v0, v1 const/16 v1, 0x1a const-string v2, "Y" aput-object v2, v0, v1 const/16 v1, 0x1b const-string v2, "Z" aput-object v2, v0, v1 


рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рд╣рдо рд░реВрд╕реА рдХреЛ рдкрддреНрд░ рдмрджрд▓рддреЗ рд╣реИрдВ, рдФрд░ рдЪреВрдВрдХрд┐ рдЕрдзрд┐рдХ рд░реВрд╕реА рдкрддреНрд░ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдкреНрд░рдХрд╛рд░ рдХреА рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛
  const/16 v1, 0x1b const-string v2, "" aput-object v2, v0, v1 

const / 16 v1, 0x1b рдЕрдХреНрд╖рд░ рдХрд╛ рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ рд╣реИ, рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдирдП рдЕрдХреНрд╖рд░ рдХреЗ рд╕рд╛рде рднреА рдмрдврд╝реЗрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЖрдк рдПрдХ рдирд╛рд▓реА рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ
 const/16 v0, 0x1c 

рдпрд╣ рд╕рдВрдкреВрд░реНрдг рд╕рд░рдгреА рдХрд╛ рдЖрдХрд╛рд░ рд╣реИ, рдЪреВрдВрдХрд┐ рд╣рдордиреЗ рдХреБрдЫ рдЕрдХреНрд╖рд░ рдЬреЛрдбрд╝реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдорд╛рдорд▓реЗ рдореЗрдВ 3 рдкрддреНрд░ рдЬреЛрдбрд╝реЗ рд╣реИрдВ, рдЗрд╕реЗ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛
 const/16 v0, 0x1f 

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдорд┐рд▓рд╛:
рд╡рд░реНрдгрдорд╛рд▓рд╛FastIndexer.smali рдлрд┐рдХреНрд╕реНрдб
 const/16 v0, 0x1f new-array v0, v0, [Ljava/lang/String; const/4 v1, 0x0 const-string v2, "\u2605" aput-object v2, v0, v1 const/4 v1, 0x1 const-string v2, "#" aput-object v2, v0, v1 const/4 v1, 0x2 const-string v2, "\u0410" aput-object v2, v0, v1 const/4 v1, 0x3 const-string v2, "\u0411" aput-object v2, v0, v1 const/4 v1, 0x4 const-string v2, "\u0412" aput-object v2, v0, v1 const/4 v1, 0x5 const-string v2, "\u0413" aput-object v2, v0, v1 const/4 v1, 0x6 const-string v2, "\u0414" aput-object v2, v0, v1 const/4 v1, 0x7 const-string v2, "\u0415" aput-object v2, v0, v1 const/16 v1, 0x8 const-string v2, "\u0416" aput-object v2, v0, v1 const/16 v1, 0x9 const-string v2, "\u0417" aput-object v2, v0, v1 const/16 v1, 0xa const-string v2, "\u0418" aput-object v2, v0, v1 const/16 v1, 0xb const-string v2, "\u041a" aput-object v2, v0, v1 const/16 v1, 0xc const-string v2, "\u041b" aput-object v2, v0, v1 const/16 v1, 0xd const-string v2, "\u041c" aput-object v2, v0, v1 const/16 v1, 0xe const-string v2, "\u041d" aput-object v2, v0, v1 const/16 v1, 0xf const-string v2, "\u041e" aput-object v2, v0, v1 const/16 v1, 0x10 const-string v2, "\u041f" aput-object v2, v0, v1 const/16 v1, 0x11 const-string v2, "\u0420" aput-object v2, v0, v1 const/16 v1, 0x12 const-string v2, "\u0421" aput-object v2, v0, v1 const/16 v1, 0x13 const-string v2, "\u0422" aput-object v2, v0, v1 const/16 v1, 0x14 const-string v2, "\u0423" aput-object v2, v0, v1 const/16 v1, 0x15 const-string v2, "\u0424" aput-object v2, v0, v1 const/16 v1, 0x16 const-string v2, "\u0425" aput-object v2, v0, v1 const/16 v1, 0x17 const-string v2, "\u0426" aput-object v2, v0, v1 const/16 v1, 0x18 const-string v2, "\u0427" aput-object v2, v0, v1 const/16 v1, 0x19 const-string v2, "\u0428" aput-object v2, v0, v1 const/16 v1, 0x1a const-string v2, "\u0429" aput-object v2, v0, v1 const/16 v1, 0x1b const-string v2, "\u042b" aput-object v2, v0, v1 const/16 v1, 0x1c const-string v2, "\u042d" aput-object v2, v0, v1 const/16 v1, 0x1d const-string v2, "\u042e" aput-object v2, v0, v1 const/16 v1, 0x1e const-string v2, "\u042f" aput-object v2, v0, v1 


"" u042f "рд╣рдорд╛рд░реЗ рдкрддреНрд░реЛрдВ рдХрд╛" рдпреВрдирд┐рдХреЛрдб "рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЕрдзрд┐рдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИ)

рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдк PIM рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ apktool-b.cmd рдореЗрдВ рдЦреАрдВрдЪрдХрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж PIM \ dist \ PIM.apk рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛

рдЕрдм рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рдлреЛрди рдХреЗ PIM.apk рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ; рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд░реЗрдВ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИред рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ PIM.apk рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдореЗрд░реЗ рдкреИрдЪ рдХреЛ рдлреНрд▓реИрд╢ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред

рд▓рд╛рдн?


рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ ... рд╣рд╛рдБ, рдкрддреНрд░ рд░реВрд╕реА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЦреЛрдЬ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ!
рд╣рдо рдЖрдЧреЗ рд╡рд┐рдШрдЯрд┐рдд рд╡рд░реНрдгрдорд╛рд▓рд╛ FastIndexer.smali рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реИрдВ
рдЗрд╕рд╕реЗ рдЬреНрдпрд╛рджрд╛ рджрд┐рд▓рдЪрд╕реНрдк рдХреБрдЫ рдирд╣реАрдВ рд╣реИ
 public static abstract interface OnTouchingLetterChangedListener { public abstract void onTouchingLetterChanged(String paramString); } 

. public static abstract , . OnTouchingLetterChangedListener :
PIM\smali\com\lewa\PIM\contacts\list\ContactEntryListFragment.smali
PIM\smali\com\lewa\PIM\mms\choiceContacts\MmsChoicePhoneNumbersContacts.smali



ContactEntryListFragment.smali
 Runnable FirstLettersRunnable = new Runnable() { public void run() { ContactEntryListFragment.this.marrFirstCharacters.clear(); ContactEntryListFragment.this.marrFirstLetters.clear(); Cursor localCursor = ContactEntryListFragment.this.mAdapter.getCursor(0); CharArrayBuffer localCharArrayBuffer1; CharArrayBuffer localCharArrayBuffer2; if ((localCursor != null) && (!localCursor.isClosed()) && (localCursor.getCount() > 0)) { localCursor.moveToFirst(); boolean bool = ContactEntryListFragment.this.mAdapter instanceof ContactEntryListAdapter; int i = 0; int j = 0; if (bool) j = ContactEntryListFragment.this.mAdapter.getStarredCount(); do { localCharArrayBuffer1 = new CharArrayBuffer(128); localCharArrayBuffer2 = new CharArrayBuffer(128); if ((i >= j) || (localCursor.getInt(12) != 1)) break; localCharArrayBuffer1.data[0] = 'тШЕ'; int k = 9733; i++; ContactEntryListFragment.this.marrFirstLetters.add(String.valueOf(k)); ContactEntryListFragment.this.marrFirstCharacters.add(String.copyValueOf(localCharArrayBuffer1.data, 0, 1)); } while (localCursor.moveToNext()); if (ContactEntryListFragment.this.mAdapter != null) ContactEntryListFragment.this.mAdapter.notifyDataSetChanged(); } ContactEntryListFragment.access$302(ContactEntryListFragment.this, true); return; localCursor.copyStringToBuffer(1, localCharArrayBuffer1); if ((localCharArrayBuffer1.data[0] >= 'a') && (localCharArrayBuffer1.data[0] <= 'z')) { char[] arrayOfChar = localCharArrayBuffer1.data; arrayOfChar[0] = ((char)('я┐а' + arrayOfChar[0])); } while (true) { localCursor.copyStringToBuffer(10, localCharArrayBuffer2); int m = Character.toUpperCase(localCharArrayBuffer2.data[0]); if ((m >= 65) && (m <= 90)) break; m = 35; break; if ((localCharArrayBuffer1.data[0] < 'тВм') && ((localCharArrayBuffer1.data[0] < 'A') || (localCharArrayBuffer1.data[0] > 'Z'))) localCharArrayBuffer1.data[0] = '#'; } } }; 


рдореБрдЭреЗ рдпрд╣ рд╕рдордЭ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреИрд╕реЗ рдФрд░ рдХрд╣рд╛рдБ рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рддрдереНрдп рд╣реИ - рдпрд╣ рд╕рдВрдкрд░реНрдХреЛрдВ рдХреЗ рдкрд╣рд▓реЗ рдЕрдХреНрд╖рд░реЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬреЛ рдХреБрдЫ рднреА рдЕрдВрдЧреНрд░реЗрдЬреА рдЕрдХреНрд╖рд░реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рд╡рд╣ # рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ... рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдпрд╣ рдлрд╝рдВрдХреНрд╢рди "рд╕рдмрдлрд╝рд╛рдЗрд▓" PIM \ smali \ com \ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред lewa \ PIM \ contact \ list \ ContactEntryListFragment $ 3.smali

рд╡рд╣рд╛рдБ рдЖрдкрдХреЛ рдПрдХ рд╕рд╛рдЗрдЯ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
 .method public run()V .locals 13 .prologue .local p0, this:Lcom/lewa/PIM/contacts/list/ContactEntryListFragment$3;,"Lcom/lewa/PIM/contacts/list/ContactEntryListFragment.3;" const/16 v12, 0x5a const/16 v11, 0x41 

0x41 рдФрд░ 0x5a 'A' рдФрд░ 'Z' рдЕрдХреНрд╖рд░ рд╣реИрдВ, рдЗрдиреНрд╣реЗрдВ рд░реВрд╕реА рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП:
 .method public run()V .locals 13 .prologue .local p0, this:Lcom/lewa/PIM/contacts/list/ContactEntryListFragment$3;,"Lcom/lewa/PIM/contacts/list/ContactEntryListFragment.3;" const/16 v12, 0x42f const/16 v11, 0x410 

рдлрд┐рд░ рдЦреЛрдЬреЛ
 aget-char v6, v6, v8 const/16 v7, 0x61 if-lt v6, v7, :cond_6 iget-object v6, v3, Landroid/database/CharArrayBuffer;->data:[C aget-char v6, v6, v8 const/16 v7, 0x7a if-gt v6, v7, :cond_6 

0x61 - 'a'
0x7a - 'z'
рдмрджрд▓реЗрдВ
 aget-char v6, v6, v8 const/16 v7, 0x430 if-lt v6, v7, :cond_6 iget-object v6, v3, Landroid/database/CharArrayBuffer;->data:[C aget-char v6, v6, v8 const/16 v7, 0x44f if-gt v6, v7, :cond_6 

MmsChoicePhoneNumbersContacts.smali рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рд╕рдорд╛рди рдХрд╣рд╛рдиреА рд╣реИ

ContactEntryListFragment.smali
  protected void onQueryComplete(int paramInt, Object paramObject, Cursor paramCursor) { switch (paramInt) { default: return; case 0: } MmsChoicePhoneNumbersContacts.this.mAdapter.changeCursor(paramCursor); if (paramCursor.getCount() > 0) { MmsChoicePhoneNumbersContacts.this.marrFirstCharacters.clear(); MmsChoicePhoneNumbersContacts.this.marrFirstLetters.clear(); paramCursor.moveToPosition(-1); if (paramCursor.moveToNext()) { CharArrayBuffer localCharArrayBuffer1 = new CharArrayBuffer(128); paramCursor.copyStringToBuffer(4, localCharArrayBuffer1); if ((localCharArrayBuffer1.data[0] >= 'a') && (localCharArrayBuffer1.data[0] <= 'z')) { char[] arrayOfChar = localCharArrayBuffer1.data; arrayOfChar[0] = ((char)('я┐а' + arrayOfChar[0])); } while (true) { CharArrayBuffer localCharArrayBuffer2 = new CharArrayBuffer(128); paramCursor.copyStringToBuffer(11, localCharArrayBuffer2); char c = Character.toUpperCase(localCharArrayBuffer2.data[0]); if ((c < 'A') || (c > 'Z')) c = '#'; MmsChoicePhoneNumbersContacts.this.marrFirstLetters.add(String.valueOf(c)); MmsChoicePhoneNumbersContacts.this.marrFirstCharacters.add(String.copyValueOf(localCharArrayBuffer1.data, 0, 1)); break; if ((localCharArrayBuffer1.data[0] < 'тВм') && ((localCharArrayBuffer1.data[0] < 'A') || (localCharArrayBuffer1.data[0] > 'Z'))) localCharArrayBuffer1.data[0] = '#'; } } MmsChoicePhoneNumbersContacts.access$502(MmsChoicePhoneNumbersContacts.this, true); paramCursor.moveToFirst(); MmsChoicePhoneNumbersContacts.this.mEmptyTextView.setVisibility(8); return; } MmsChoicePhoneNumbersContacts.this.mEmptyTextView.setVisibility(0); } 

 # virtual methods .method protected onQueryComplete(ILjava/lang/Object;Landroid/database/Cursor;)V .locals 10 .parameter "token" .parameter "cookie" .parameter "cursor" .prologue const/16 v9, 0x5a const/16 v8, 0x41 

рдХреЛ рдмрджрд▓реЗрдВ
 # virtual methods .method protected onQueryComplete(ILjava/lang/Object;Landroid/database/Cursor;)V .locals 10 .parameter "token" .parameter "cookie" .parameter "cursor" .prologue const/16 v9, 0x42f const/16 v8, 0x410 

рдФрд░ рддрджрдиреБрд╕рд╛рд░
  aget-char v3, v3, v5 const/16 v4, 0x61 if-lt v3, v4, :cond_3 iget-object v3, v1, Landroid/database/CharArrayBuffer;->data:[C aget-char v3, v3, v5 const/16 v4, 0x7a if-gt v3, v4, :cond_3 

рдкрд░
  aget-char v3, v3, v5 const/16 v4, 0x430 if-lt v3, v4, :cond_3 iget-object v3, v1, Landroid/database/CharArrayBuffer;->data:[C aget-char v3, v3, v5 const/16 v4, 0x44f if-gt v3, v4, :cond_3 

. !

!

PS . . , , , .

Source: https://habr.com/ru/post/In169767/


All Articles