[Xiaomi Mi Note Pro] Aqq123:
Updates 1 & 2 to the Guide

Update 1 to Post #7

Patching and Recompiling the Application Packages

Remove Find Device Activation Nag

/system/app/CloudService/CloudService.apk

This patch removes the notification to activate Find Device with Mi Cloud showing up all the time (as long as you are logged in with your Mi Account, most likely). Otherwise, there is no way to switch it off through the Settings.

The patch:

diff -urN CloudService.orig/smali/com/miui/cloudservice/finddevice/FindDeviceGuideService.smali CloudService/smali/com/miui/cloudservice/finddevice/FindDeviceGuideService.smali
--- CloudService.orig/smali/com/miui/cloudservice/finddevice/FindDeviceGuideService.smali	Thu Jan 07 22:20:30 2016
+++ CloudService/smali/com/miui/cloudservice/finddevice/FindDeviceGuideService.smali	Thu Jan 07 22:41:09 2016
@@ -134,62 +134,6 @@
.method private a(Landroid/content/Context;Landroid/graphics/Bitmap;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;)V
.locals 5

- const/4 v4, 0x1
-
- new-instance v0, Landroid/app/Notification$Builder;
-
- invoke-direct {v0, p1}, Landroid/app/Notification$Builder;-><init>(Landroid/content/Context;)V
-
- invoke-virtual {v0, p5}, Landroid/app/Notification$Builder;->setContentIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;
-
- const/4 v1, -0x1
-
- invoke-virtual {v0, v1}, Landroid/app/Notification$Builder;->setSmallIcon(I)Landroid/app/Notification$Builder;
-
- invoke-virtual {v0, p2}, Landroid/app/Notification$Builder;->setLargeIcon(Landroid/graphics/Bitmap;)Landroid/app/Notification$Builder;
-
- invoke-virtual {v0, p4}, Landroid/app/Notification$Builder;->setContentText(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;
-
- invoke-virtual {v0, p3}, Landroid/app/Notification$Builder;->setContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;
-
- invoke-virtual {v0, v4}, Landroid/app/Notification$Builder;->setAutoCancel(Z)Landroid/app/Notification$Builder;
-
- const-wide/16 v2, 0x0
-
- invoke-virtual {v0, v2, v3}, Landroid/app/Notification$Builder;->setWhen(J)Landroid/app/Notification$Builder;
-
- invoke-virtual {v0}, Landroid/app/Notification$Builder;->build()Landroid/app/Notification;
-
- move-result-object v1
-
- iget v0, v1, Landroid/app/Notification;->defaults:I
-
- or-int/lit8 v0, v0, -0x1
-
- iput v0, v1, Landroid/app/Notification;->defaults:I
-
- new-instance v0, Landroid/app/MiuiNotification;
-
- invoke-direct {v0}, Landroid/app/MiuiNotification;-><init>()V
-
- invoke-virtual {v0, v4}, Landroid/app/MiuiNotification;->setCustomizedIcon(Z)Landroid/app/MiuiNotification;
-
- iput-object v0, v1, Landroid/app/Notification;->extraNotification:Landroid/app/MiuiNotification;
-
- const-string v0, "notification"
-
- invoke-virtual {p1, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
-
- move-result-object v0
-
- check-cast v0, Landroid/app/NotificationManager;
-
- const-string v2, "micloud_find_device_guide"
-
- const/16 v3, 0x6e
-
- invoke-virtual {v0, v2, v3, v1}, Landroid/app/NotificationManager;->notify(Ljava/lang/String;ILandroid/app/Notification;)V
-
return-void
.end method

Apply with:

adb pull /system/app/CloudService/CloudService.apk

apktool2 d -b -o CloudService -r -t miui CloudService.apk

patch --binary --no-backup-if-mismatch -E -i system_app_CloudService.diff -p0

apktool2 b -a aapt-miui.exe -c -o CloudService.apk.raw CloudService

zipalign -f 4 CloudService.apk.raw CloudService.apk

adb root

adb shell mount -o remount,rw /system

adb push CloudService.apk /system/app/CloudService/

Remove Update Availability Notification

/system/app/Updater/Updater.apk

The Updater app, which apparently cannot be uninstalled (at least not without clearing the /data partition) checks for OTA updates and once it finds an update available, it will permanently display a notification asking to download it. The following patch disables

all

notifications from the Updater app.

The patch:

diff -urN Updater.orig/smali/com/android/updater/a/j.smali Updater/smali/com/android/updater/a/j.smali
--- Updater.orig/smali/com/android/updater/a/j.smali	Wed Jan 13 06:44:02 2016
+++ Updater/smali/com/android/updater/a/j.smali	Wed Jan 13 06:53:16 2016
@@ -2051,8 +2051,6 @@

move-result-object v1

- invoke-virtual {v0, p2, v1}, Landroid/app/NotificationManager;->notify(ILandroid/app/Notification;)V
-
return-void
.end method

@@ -2151,8 +2149,6 @@

invoke-virtual {v4, v5}, Landroid/app/MiuiNotification;->setEnableFloat(Z)Landroid/app/MiuiNotification;

- invoke-virtual {v2, p2, v3}, Landroid/app/NotificationManager;->notify(ILandroid/app/Notification;)V
-
return-void
.end method

@@ -2330,7 +2326,6 @@
invoke-virtual {v4, v5}, Landroid/app/MiuiNotification;->setMessageCount(I)V

:cond_0
- invoke-virtual {v2, p2, v3}, Landroid/app/NotificationManager;->notify(ILandroid/app/Notification;)V

return-void

Apply with:

adb pull /system/app/Updater/Updater.apk

apktool2 d -b -o Updater -r -t miui Updater.apk

patch --binary --no-backup-if-mismatch -E -i system_app_Updater.diff -p0

apktool2 b -a aapt-miui.exe -c -o Updater.apk.raw Updater

zipalign -f 4 Updater.apk.raw Updater.apk

adb root

adb shell mount -o remount,rw /system

adb push Updater.apk /system/app/Updater/

Update 2 to Post #11

Bonus: Qualcomm NVRAM Settings & 2G/3G/4G LTE Band Config

RF Hardware Capability Analysis

While I still can't confirm whether the method described above unlocked any of the bands for me, if we knew what RF hardware is inside the device, this could tell us which bands can potentially be unlocked, and which are not supported by the hardware. Unfortunately, none of the teardowns I could find, including Leiphone/iGao7.com, Xiujj.cn (video) or 91 Chai (video) reaches far enough to show the power amplifier chip. However, the information posted here says that the amplifier used is Avago ACPM-76

2

0, while a Xiaomi Note teardown shows that the chip used there was Avago ACPM-76

0

0. The specifications for those chips tell us that the following bands are supported:

ACPM-76

0

0: 4G LTE & 3G (UMTS) Bands 1, 2, 3, 4, 5, 8, 25, 26

ACPM-76

2

0: As above, and additionally LTE Bands 17 and 20

Comparing this to the list of "interesting" bands I posted above, it would seem that bands 12 and 28 (both 700 MHz) are most likely not supported by the hardware, so making them work is probably out of the question, while the other bands could theoretically be enabled, subject to modem firmware (17 and 20 on the condition that the amplifier used is indeed ACPM-76

2

0).

If anyone sees (or does) a teardown deep enough to clarify what the power amplifier chip is, please share this information. Thank you.