[Xiaomi Redmi Note 4 [Snapdragon] ROMs, Kernels, Re] gtbtk:
Hi everyone. I have resolved the issue myself. The solution may not be a bad idea for inclusion in the next version of the Mido RR Rom to make it truly global.

Android uses a Captive Portal, a web address that specifically responds with a 204 null value to check if it has connection to the internet. Stock AOSP uses Google.com addressed servers by default. That becomes a problem for anyone in China or even in a corporate environment that blocks Google.

Xiaomi changes their roms so that the OS queries a Xiaomi site instead of a google one in all of its phones. That site is accessible in both china and the rest of the world and as this Rom is specifically for a Mido device, may be worth changing in the Mido version of the ROM itself. (other device specific roms will also benefit for china based users without impacting the rest of the world)

If you are trying to fix it now you can do it this way. This will work even on non rooted phones.

1. Enable USB debugging in the Developer options on your phone

2. Install the ADB drivers and ADB tools on your computer. As you already have flashed TWRP and a custome ROM, you should already have those tools installed anyway.

3. Connect you Phone by USB to the computer.

4. Open a command prompt and change directory to where you have installed the ADB tools

5. Type the command "adb devices" -

on Windows the first time you do that you will see some messages like this

List of devices attached

* daemon not running; starting now at tcp:5037

* daemon started successfully

35e0axxxxxx unauthorized

6. on your phone accept the request for USB access that pops up on screen

7. type "adb devices" again after you have granted permission on the phone and the response will be similar to this. The number will be unique to your device:

35e0axxxxxx device

8. Type the following two lines of text at the command prompt. If the commands work, it will just return to the command line without any messages:

adb shell settings put global captive_portal_https_url https://connect.rom.miui.com/generate_204

adb shell settings put global captive_portal_http_url http://connect.rom.miui.com/generate_204

9. Reboot your phone

After the reboot, the phone will connect to the internet by both LTE and wifi and report that you are connected to the internet correctly regardless of your geographical location.

This fix will work for any phone running Oreo or Pie and will work on devices from any manufacturer, but it is the default for Xiaomi phones running stock ROMs and should be accessible world wide.

Unless the developer changes the Captive Portal defaults in the next ROM update, I am guessing here but it is likely to have to repeat this process again after the update has been installed as I assume that the update will reset the Captive portal settings to the defaults again. It may even be an option for the maintainers of RR to create their own Captive Portal page and point all versions of the ROM to that instead of a google or manufacturer page to achieve the same result to help "Tin Foil" guys stay more stealthy.

I am sure that the other Chinese manufacturers have also created their own pages that will also work. If you feel adventurous, you could also create your own web page on your own server that generates a 204 response when accessed that will perform the same function. Be careful though is your website is running on a blogging platform like blogspot, the China firewall is also likely blocking pages from that platform as well. Once you have a working page you just change the URL in the command I posted above.

I hope that this was helpful to someone