[Xiaomi Redmi 3 Guides, News, & Discussion] Rizal Lovins:
HOW TO FIX 4G LTE OPTION USING SOLUTION 1 WORK ON DEODEXED ONLY

1. Edit framework.jar

Requirements :

Follow this GUIDE to decompile and recompile framework.jar http://xdaforums.com/crossdevice-dev/sony/tool-xperia-quick-decompile-recompile-t3428341

Step By Step

1. Download this tool http://xdaforums.com/showpost.php?p=67952722&postcount=2

2. Decompile framework.jar (framework.jar must be deodexed)

3. Go to classout2/miui/telephony

4. Open TelephonyManager.smali using text editor like notepad++

5. Search

.method public isDisableLte(Z)Z

and you will see like this :

.method public isDisableLte(Z)Z
.registers 10

const/4 v5, 0x1

const/4 v4, 0x0

sget-boolean v6, Lmiui/os/Build;->IS_GLOBAL_BUILD:Z

if-nez v6, :cond_8

move v0, v4

:cond_7
:goto_7
return v0

:cond_8
iget-object v6, p0, Lmiui/telephony/TelephonyManager;->BUILD_OPERATOR_TYPE:Ljava/lang/String;

if-nez v6, :cond_12

invoke-static {}, Lmiui/util/Network;->getOperatorType()Ljava/lang/String;

move-result-object v6

iput-object v6, p0, Lmiui/telephony/TelephonyManager;->BUILD_OPERATOR_TYPE:Ljava/lang/String;

:cond_12
const-string v6, "id4g"

iget-object v7, p0, Lmiui/telephony/TelephonyManager;->BUILD_OPERATOR_TYPE:Ljava/lang/String;

invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

move-result v6

if-eqz v6, :cond_1e

move v0, v4

goto :goto_7

:cond_1e
const-string v6, "ido"

sget-object v7, Lmiui/os/Build;->DEVICE:Ljava/lang/String;

invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

move-result v6

if-nez v6, :cond_5a

const-string v6, "kenzo"

sget-object v7, Lmiui/os/Build;->DEVICE:Ljava/lang/String;

invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

move-result v6

if-nez v6, :cond_5a

const-string v6, "kate"

sget-object v7, Lmiui/os/Build;->DEVICE:Ljava/lang/String;

invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

move-result v6

if-nez v6, :cond_5a

const-string v6, "mido"

sget-object v7, Lmiui/os/Build;->DEVICE:Ljava/lang/String;

invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

move-result v6

if-nez v6, :cond_5a

const-string v6, "rolex"

sget-object v7, Lmiui/os/Build;->DEVICE:Ljava/lang/String;

invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

move-result v6

if-nez v6, :cond_5a

const-string v6, "royal"

sget-object v7, Lmiui/os/Build;->DEVICE:Ljava/lang/String;

invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

move-result v6

if-eqz v6, :cond_76

:cond_5a
move v0, v5

:goto_5b
if-eqz v0, :cond_7

if-eqz p1, :cond_7

invoke-virtual {p0}, Lmiui/telephony/TelephonyManager;->getPhoneCount()I

move-result v3

const/4 v1, 0x0

:goto_64
if-ge v1, v3, :cond_7b

invoke-virtual {p0, v1}, Lmiui/telephony/TelephonyManager;->getSimOperatorForSlot(I)Ljava/lang/String;

move-result-object v2

if-eqz v2, :cond_78

const-string v6, "510"

invoke-virtual {v2, v6}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

move-result v6

if-eqz v6, :cond_78

move v0, v5

goto :goto_7

:cond_76
move v0, v4

goto :goto_5b

:cond_78
add-int/lit8 v1, v1, 0x1

goto :goto_64

:cond_7b
move v0, v4

goto :goto_7
.end method

6. Shrink code to

.method public isDisableLte(Z)Z
.registers 10

const/4 v4, 0x0

return v4
.end method

Save file TelephonyManager.smali

7. Compile framework

8. Flash to your MIUI ROM and Done.