text:
Phone is locked with an impossible to enter password
As it appeared, the on-screen keyboard for entering the unlock password is missing English layout, although it for sure was present when the password has been created.
Now the situation appears really bad:

the phone (TP-LINK Neffos C9A, Android 8.1 NFUI 8.0) is locked,
the password is not possible to enter because of missing keyboard layout,
option for adding keyboard languages is not available,
there is no option "Forgotten password" and
Android Device Manager responds "Can't reach device" with either WiFi or 3G connection.

How to unlock the phone in such situation?

Have you tried to connect an USB keyboard via USB OTG?

@Robert - thank you for the hint - I've tried a USB keyboard and was able to enter English letters, but neither Shift no Caps Lock were giving capital letters. Same happened with another USB keyboard

@Robert, thank you again - I've managed to enter caps with holding both Shift and a key. You saved me

In case there is a problem with the on-screen keyboard most devices support to use an USB keyboard connected via USB On-The-Go (OTG) adapter to the phone - if the phone supports USB OTG at all.
The simpler an USB keyboard is the more likely it will work - keyboards with integrated USB hub and/or readers for smartcard or sd-card often cause problems and may not work.
Note that the USB keyboard works like a regular keyboard (not like the on-screen keyboard): key combinations like have be pressed at the same time, not one after another.

For people seeking for other answers, there is a flashable Zip file which deletes any lock screens. However you'd need a device with a custom recovery such as TWRP.
Just flash the Zip and your lock screen will be gone on next restart.


text:
How can I troubleshoot a very slow initial connection when web browsing on WiFi?
This has been bugging me for quite some time.
When connected to my home WiFi, web connections take a long time to initially establish (like ~10 seconds+) on two separate Android phones (OnePlus 3, and HTC 10). Once the connection is made, the download rates are absolutely fine. Also, web browsing is absolutely fine (almost no latency) on all other devices connected to the home WiFi - MacBook, PC (Windows and Linux). This issue is not observed on other WiFi networks, or when using mobile data.
I imagine it may be something to do with DNS resolution, firewall, or something else funny on my home router, but the main problem is I have no idea how to actually debug/troubleshoot this on an Android phone.
So by way of an answer, I would really appreciate either:

Suggestions of tools for debugging something like this - something like the Developer Console in Chrome would be ideal
Suggestions on what the underlying problem might be

Thanks alot

I'd suspect it might be some DNS or proxy settings that takes time to initiate. Have you considered sniffing the WiFi traffic between the Android device and the router, to see what's going on there?

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
Why the "Sign-in error" notification appear on Xiaomi device?
Since yesterday, I've been getting this error message and I have no idea what application it is. I checked all of my installed apps and can't see it.
Can you help me identify this icon?

What does pressing and holding the notification show? In most cases you would be shown the app name a button to access its app info.

I pressed the notification and it took me to 'android system' notifications settings and when I tap on it it asks me to enter password

You must be using Xiaomi device with stock ROM. When you first switched on device, you created an online Mi account like Google account. Now this device is attached to that Mi account to avoid misuse in case of phone theft. This phenomenon is similar to FRP implemented by other OEMs too.
Shown number 178... is your Mi account ID. This error is appearing because device is unable to verify your identity online due to no internet access or something like that. Go to Mi Account in Settings and login again.
Be careful! If you are unable to login, you won't be able to access device on reboot.
See this to know a little bit about how FRP works.

This works, I logged back into my MI account and the notification was gone.

You might have logged in from another device and changed the password of your google account. If it wasn't you, you can change the password again and then go to my accounts in Google and click the option log out from all devices and then sign-in in your required devices.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Replacing Ubuntu OS with Android OS
Is there a straightforward step-by-step instruction to replace Ubuntu OS with Google OS on a BQ Aquaris M10 HD tablet.
I know nothing about computer code and nothing can be assumed. These instructions need to be precise. I.e. do I need another computer to perform this operation If so, what kind? If it can be done entirely on the tablet, then exactly how is this done?

Short answer: No
I don't know your tablet, but a straightforward instruction will not be available. Your tablet is also provided with Android, so there exist the working android port. Normally the producer of the tablet don't provide the needed files to re-flash the device.
Normally the image is build on a development computer and the image is flashed on the device. To replace your OS another computer will be needed (if you have the needed files)
Technically it's possible to create a USB memory stick that update your OS without interaction, but that's normally not provided by the producer of a "consumer tablet"
(sorry for my bad english, hope you understand my message)


text:
Install Lineage on P3110 with Replicant
I installed Replicant on my P3110 only to discover the wifi is not supported. So now I want to install Lineage instead.
Apparently Lineage is no longer officially support by Lineage, but I have been able to find lineage-14.1_espressowifi-7.1.2-20180131-1818.zip
If I use Replicant's bootloader and try to do adb sideload lineage-14.1_espressowifi-7.1.2-20180131-1818.zip the sideload completes, but fails on the device with E: failed to verify whole-file signature.
I am thinking that I may have to install espresso-common_TWRP_3.2.2-0.img but I have found no way to do that from the Replicant bootloader.

I am thinking that I may have to install espresso-common_TWRP_3.2.2-0.img but I have found no way to do that from the Replicant bootloader.

I think you are correct, I don't think you can flash a new bootloader with the Replicant bootloader, only update it.
You will have to flash with a computer:

Plug your device into a computer
Put your device into downloading mode
Flash TWRP for your device

And then use TWRP to flash the LineageOS ROM for your device.


text:
How to recover gmail address
So, Awhile back I got a new phone and my number changed.  I went to My Google Account page but It would not let me sign in to change my number.  Been 5 months now..but It is still logged onto an older phone (LG Pheonix).  I did account recovery, Google emailed me back they could not confirm it was me. What now?

This question doesn't have anything to with Android. It is just a basic Google.com account support question. If you can't find an answer in their official support, the next place to ask would be the webapps site.

This also happened to me. What I did was, I told them my basic information stored in that google account, including on how it was used (for games, payments etc.)

I did the same, but they said they had to review my information.  Kept getting emails back to another gmail address saying based on my info they could not determine if it was my account.  Did you actually get your account recovered? @ervin maitim

Yes I recovered my email account. I also included my old passwords for that email to convince them. My security questions as well. @bsplaylist

I might add, I'm still logged onto my old phone with the email I cannot sign into anywhere else..it still works through wi-fi connection.  I know my password, but the want my old phone number as I had 2 step verification on.

That was also my problem, because I lost my phone number used in the 2-step verification. So I googled, on bypassing it. And it says, recovering the account. May I also add that I tried 3 times before I recovered my email. Try and try, and tell google most of the things you've done using that email, and also; as you can still access it in your old phone, include some emails sent or received via that email in the recovery.


text:
Unroot Galaxy Note 5 SM-N902i (XSA Australia) with Heimdall - "System UI has stopped"
I am running a linux machine and trying to unroot my Galaxy Note 5. I've downloaded the lastest firmware from sammobile: N920IDVU4CRG1_N920IXSA4CRG1_XSA.zip which extracts to:
boot.img
cache.img
cm.bin
hidden.img
modem.bin
recovery.img
sboot.bin
system.img
Then I've been trying to use heimdall like so:
heimdall flash --verbose --BOOTLOADER sboot.bin --CM cm.bin --BOOT boot.img --RECOVERY recovery.img --RADIO modem.bin --SYSTEM system.img --CACHE cache.img --HIDDEN hidden.img
The process finishes successfully but then when the phone reboots it hangs with an error: "System UI has stopped"
I've previously executed heimdall print-pit to check the pit list. I noticed that there are more pit entries than the 8 provided in the firmware. I don't know if that's normal.
I also tried using the pit file found on the forum with the same negative result: NOBLELTE_AUS_XSA.pit
heimdall flash --pit NOBLELTE_AUS_XSA.pit --verbose --BOOTLOADER sboot.bin --CM cm.bin --BOOT boot.img --RECOVERY recovery.img --RADIO modem.bin --SYSTEM system.img --CACHE cache.img --HIDDEN hidden.img
Same error.
Is there something that I've been missing or done wrong?
Many thanks :)

The problems exists in the system.img. It might have been comiled with a corrupted systemUI.apk. Try other flashable files.

Thanks for your answer. I tried other flashables files but the results was the same.
I flashed twrp using adb, and realised there was some of my data left on the phone. So I deleted it all using twrp. Then I used heimdall again to flash the firmware and it worked!
Odin gives exactly the same results.


text:
Dismissing alarm with buttons on Galaxy S9+
On older android phones I could dismiss clock alarm by pressing any button. On the new galaxy s9+ I have to use the screen, which is highly inconvenient if the alarm goes off when I'm driving. Therefore I'd like to configure the clock app to dismiss the alarm on button press.
Online search led to advice that was irrelevant to the current clock app, for example to use the triple dot menu of the clock app. The current clock app has nothing useful on the triple dot menu, just the About and one other item. I couldn't find the settings for that elsewhere either.
Could you suggest a solution?

You can use AutoInput with Tasker to do this.
Note: tested on stock Android with stock Clock app only.

Install AutoInput.
Enable Intercept Keys in it. Disable Doze if it asks for.
Install and setup Tasker.
Create a profile under Event → Plugin → AutoInput → Key → setup the configuration for a single key only, say a Volume rocker.
Create a task for that profile named "Dismiss Alarm on keypress" and set the action to System → Cancel Alarm → Disable Current.
Since Autoinput intercepts the key, you would find the key failing to perform its default functions. As a remedy, you would want to add an another action within that same task, depending upon the key you chose in Profile. I suggest you limit the keys to Volume rockers because Power key functionality may be hard to imitate through Tasker.

The benefit of using AutoInput is that it works both for Screen Off and Screen On states.

If you want to avoid this hassle, but can compromise with having functionality only when Screen is One and limited to few keys, than consider MacroDroid.

Install it
Setup Trigger to any Volume Button Pressed → Monitor Volume Changes → choose your key → Update Volume.
Setup Action to Alarm Clock → Dismiss Active Alarm.

This should work within limited aforementioned constraints.

Thanks. One more question: can I map Samsung S9+ Bixby key? It's the key next to the volume rocker; I didn't find it in the tasker's list of keys.

I'm sorry. I don't know as I have not owned a Samsung device before. :-( // There used to be a way to remap that key as mentioned here but the app has been removed from Play Store. You can find its apk somewhere and try it but I cannot give assurance for that either.


text:
Stop and disable Android system update on Motorola phones
My phone is a non-rooted Motorola Moto G4 Play (XT1607). It is getting old, there's no space left, and I don't want to update the Android operating system. By mistake, I clicked "Update" and it downloaded the update, but it is not yet installed.

Instead of proceeding to update, I want to delete it. I see a system app called com.android.managedprovisioning. Could this be it?

Have you tried anything that works for you?

@someuser I'm not rooted, don't know how, and don't wanna try to root

@someuser I don't have this phone anymore, it broke, but I have the same issue on my new Moto phone

Follow these steps:
1-You can force close updater app:
Go to system-app-system updater then press "Force close"
2-uninstall updater app for the current user:
Note:You can restore updater app by doing "factory reset" to your phone?
pm uninstall -k --user 0 com.android.updater

Note:"com.android.updater" is package name of "updater" app in my phone,In your phone "updater" app may have another package name.You can find it using
Package Name app.
I hope this help you

I see a system app called "com.android.managedprovisioning". Could this be it? My phone is a Motorola G Play, XT1607.

The package name should contain "updater" like this "com.android.updater" .
This code can be run from pc using adb:  "Adb shell pm uninstall -k --user 0 com.android.updater ",  but this code can be run from terminal emulator:  "pm uninstall -k --user 0 com.android.updater"

Where do i this? I'm not rooted and don't know how to.

This guide will help youto uninstall system apps:   https://www.xda-developers.com/uninstall-carrier-oem-bloatware-without-root-access/

In my case, I clicked the progress bar and a pop-up message showed and made it possible to cancel. In deleting the update, try this: File Explorer>Downloaded_rom>delete the update package there.

I used PD NDM (package disabler) app, downloaded from its own website and requests support on how to disable update to version 9 android pie.
Disable the following :
com.sec.android.soagent
com.wssyncmldm
If com.wssyncmldm is not found, please disable com.wssnps

On Moto Z2 Force, run this command from your PC when Android device is connected via USB in Photo transferring mode, USB debugging enabled.
adb shell pm disable-user --user 0 com.motorola.ccc.ota
You should not get anymore update popups.


text:
How to manually remove an app?
I lack proper keywords to google efficiently to know how to manually remove an app. Basically I want to uninstall Chrome, but I also want to know deeper about Android system rather than rely on a third-party app like NoBloat. I suspect one just need to delete /data/app/com.android.chrome-2 folder, but I'm not sure if there is more to be removed too.
How to manually remove an app?

To manually remove an app, you'll need to (manually) delete all of the following items:

The app's package, usually in /data/app/<package name>. For system apps, delete /system/app/<something>, /system/priv-app/<something> or /vendor/app/<something> instead, depending on where it resides. The folder and file name are not necessarily the same as package name for system/vendor apps, though.
The app's installation information, /data/system/packages.xml. This is very complicated as an app may define resources that can be used by other apps. Be sure to remove all related keys and leave unrelated keys intact, or you can mess the files up.

Additionally, these items may be removed, but they'll be pruned if some or all items listed above are manually removed or found missing. The automatic pruning usually happens during system booting.

The app's Dalvik cache, in /data/dalvik-cache, usually .odex or .oat files
The app's data, in /data/data/<package_name>
The app's data in external storage, in /sdcard/Android/data/<package_name>
The app's "simplified information" in /data/system/packages.list, which will be pruned if the app is gone from packages.xml

Sometimes you'll see some log in /data/system/uid_error.log if the above items are pruned by Android.

Thanks for the answer. I find a related question here, you may want to add to your post: What does the /data/system folder store and its significance?. (Put this as a separate comment so I can delete it later)

what happens if I mess up /data/system/packages.xml? Also, why do all APK files in /data/app/<package name> have the same name base.apk?

@Ooker I'm not sure. It usually gets rebuilt automatically but you may lose some app data.

Root your phone to uninstall system apps. Those are pre-installed apps, it is integrated to the android system, so rooting is necessary if you want to remove them.

I have already rooted it. I just want to know that delivering that folder is sufficient or not.


text:
How to do GREP text searching without root?
There is busybox and there are terminal emulators that include grep, but they require root to run. It would be better if they could also run without root but with limited access. I only need to grep (read-only access) files in the user data storage.
Is there a way to do grep text searching on Android without root?
There are many text editors already, but they only support ordinary text searching by jumping to the text position, which is not nearly as convenient as grep, where one gets the desired results in a list at one place.

Which Android version are you using?

Did you try it via adb?

@Adem I know ADB already, but does ADB work without needing an external computer?

@Firelord That phone has Android 7, Nougat. But it would be great to have a solution that is compatible with older Android versions too, such as Jelly Bean.

To my knowledge that won't work.

Sorry, I forgot to update: Shortly after asking this question, I found out that Android Terminal by jackpal works without issue. (jackpal.androidterm)

You are mixing up two things:

Installing a binary like busybox system wide from within an app (which includes grep)
Running a binary

The default app based installers for busybox require root access to install busybox system-wide. This is true, however this is just because it is an app. Once the binary is installed you don't need root access.
Additionally even without root you can also install a busybox (or whatever) binary on your device:

You need to activate Android Debug Bridge (adb)
Copy the binary onto your phone (if it is not already there): adb push busybox /sdcard/
Copy the binary from the sdcard section (where it can't be executed) to different directory like /data/local or /data/local/tmp: adb shell "cat /sdcard/busybox > /data/local/busybox".
Then make it executable using adb shell chmod 0555 /data/local/busybox

Now you can execute it using its full path from within a terminal app or inside adb shell:
/data/local/busybox grep ....

I want to add that chmod is not available in Android versions prior to Lollipop.

There's even at least one Busybox installer not requiring root (Busybox Installer (no root)). Apart from that: Any reason you use cat to copy a file – instead of cp?

@Izzy Plus, the adb shell cat will cat something to the computer, not the phone.

@iBug that depends on the redirect – and how you quote it: adb shell "cat foo > /sdcard/bar" will stay on-device. But remove the quotes, and it may complain it misses the /sdcard on your computer :)

@Izzy I remember having encountered a lot of devices that did not had the cp command. However cat was on each and every device available I ever got my hand on.

Good point, Robert (though I never encountered such a device myself) – you might wish to integrate that with your answer. Unfortunately, using busybox cp would be a chicken-and-egg issue here #D // If you integrate the facts from the comments with your answer, please ping me afterwards for comment-cleanup :)

If you are using Android Lollipop or above, install Termux, install grep (if not already installed) by typing apt install grep, give Storage permission to Termux from Settings app so that Internal Storage can be accessed. And that's it. Enjoy your grep. You can also install busybox the same way in Termux (it appears to come installed with Termux per user iBug) and use its utilities. Installation and usage doesn't require elevated privileges.
If you are using Android version before Lollipop, Robert's answer suggests a good way but some steps can be eliminated. Simply fetch the Android binary compatible with your processor from here, rename it to busybox and push it into Android using adb as:

adb push busybox /data/local/tmp/   # don't push it into /sdcard/ as it is both unnecessary and removes executable bit from the binary which you cannot add without having busybox's or toybox'x chmod utility.

You can now use busybox. You would want to setup an alias or change ENVIRONMENT variable of your shell accordingly to map that file.
Alternatiely, while I have not tried them, some grep based apps are available in Play Store and can be found here.

BusyBox comes installed in Termux by defaulr (upon first launch), and it includes a grep.


text:
Can't download offline packages in Google translate
I have the same problem as this guy How to fix the problem of offline packages not downloading in Google Translate?
But the answer there, that is clearing data of the download manager didn't work for me.
I have tried some other things as the op from that post like reinstalling the app and I checked that I granted it all the permissions.
I run at Android 7.1.1 on Nokia 2

Go into the app and change your downloading preferences to both mobile data and WiFi. It will still download on WiFi if you are connected, but this change will get it out of that holding pattern. Make sure to restart the download once you make the change.


text:
Why does not full mean full?
I have a Razer Phone running 8.1.0.
When I go to the camera app, it says Device Storage Full

But my device is not full. I have 2.34 GB free (of 64GB) in system memory (I do not have an SD card installed). Shouldn't that be enough to take a few hundred pictures?

Use an app like Disk Usage to actually see what is taking up place and free up space by deleting unnecessary files. If that doesn't help, post a screen shot in your question

@beeshyams I did post a screenshot. And I already have space for pictures. 2 GB free. That's in the question. An I missing something?

@beeshyams alternatively, I could say you're begging the question. How much do I need to delete to take pictures?

The answer can be found in our insufficient-memory tag-wiki. Main point: depends on where those 2.34G are free. Doesn't help if it's on the SD card. As the error messages writes: Device Storage full. That's the internal storage.

@Izzy I do not have an SD card. I have 2 gb free in system memory.

@Izzy The insufficient memory tag wiki states that a low space alarm is triggered at 10%. Does that mean I can't take pictures unless I have 6.4gb free?

Try clearing cache maybe it'll help

@McKay that might indeed be the case – though the ROM dev might have defined a different limit. 6G would be ridiculous, but if the devs forgot, that's the default.

@izzy, well, that theory fails, because I freed to 6.0 gb, (which is 9%), and I could take pictures again.

@ЈеднорукиКрстивоје, that didn't work.

@McKay then the "ROM baker" might have set it to 5% – your 2G would be below that (3%) while your 6G is beyond (9%).

authors: Једноруки Крстивоје


text:
Cant exit twrp (reboot system doesn't work)
Using TWRP, I just installed new ROM (ResurrectionRemix-M-v5.7.4-20160922-libra) and OpenGApps (open_gapps-arm64-6.0-pico-20180830) on my Xiaomi Readmi 4c. Both of them were flashed successfully (or at least that's what the twrp said :D), there was no error or anything.
Then I went to "reboot system" and it returned back to the TWRP menu. I cannot boot into the newly flashed ROM.
Please help me solve this problem.
Thanks

Too few details, sorry. Are you sure you flashed the right ROM, and everything went OK? Did you wipe anything before? What first comes to mind is a failed flash, so recovery is the only working system remaining – which would explain why you always end up there.

Yes the flash of the ROM and the open gapps were okay there was no error or anything.  I'm very new to this so I don't know if I'm using the proper terminology to explain the issue. I used the ResurrectionRemix-M-v5.7.4-20160922-libra ROM and open_gapps-arm64-6.0-pico-20180830. Both of them were flashed successfully (or at least that's what the twrp said :D).
Thanks for the answer

This only happens when the android phone doesn't have any ROM or the system itself so it redirects you to the recovery. One way for this is to wipe all out and re-flash everything OR wipe all out and re-flash a different ROM. And a question, Don't you have any backup of you're stock ROM before flashing a new one? It would be better to restore it.

This is not true to say this ONLY happens when there is no ROM or system to boot. I have a perfectly working system, which can boot, but only by going to bootloader, selecting "Start" from the menu and clicking the power button to select. It will boot android just fine and the system will function perfectly, as long as I do not shutdown. If I restart or boot from a shutdown, it will automatically boot into TWRP, at which time I have to go back into bootloader and select "Start" from the menu again in order to boot back into Android. Please don't make seemingly factual statements that are not f

This is a very old question, but someone may face this. For archive purposes -
By flashed successfully, TWRP only states that the process of flashing itself has completed without error. It does not test ROM compatibility with the device. While the information you have provided is too little to go by, it is likely that certain bootscripts are corrupted, or you are running tasks after that that corrupt (or erase) data. My recommendation would be to redownload the files and retry the process. If there is walkthrough content on the web, follow those. Check the device logs to ensure that there is no OS modification between installation and boot.


text:
Apps stay in background even after turning the phone off
I generally see this in all the Android phones I ever had. I have certain apps in the background and then turn off the phone. If I turn it on again the next day these apps seem to still be in the background. It could be any app, Google Maps, Candy Crash etc.
Why does this happen? Don't Android phones turn off completely? Do these app really stay in the background?

@IrfanLatif No no I am talking about every app. It could be Candy Crash, Google Maps or Spendee. Or all of them together

That is the default behavior of Android from Lollipop onwards. See this blog which talks of that ( Recents (or Overview)). It is only a list of apps that you used is shown and it doesn't mean that these are running after reboot, so it shouldn't be a concern (unless you want to hide some app or web page that you visited). You can check running apps from settings and you would see that these are fewer than what you see in the overview
Only on earlier versions they would be cleared on reboot

I more question. How can I see the running apps from settings?

On Oreo you can see from the developer options 9Tap build number  7 times to reveal). On earlier ones I don't recollect but you can search in the settings using the search function


text:
CPU throttling during Web browsing for battery preservation - counterproductive?
The power saving feature in Android (I'm mainly familiar with Samsung phones so this might not apply to all brands) throttles the CPU in order to save battery. If the phone is being used for Web browsing, this results in slower page loading, which means that your screen is also consuming power for longer when in power saver. Does this mean in some cases the throttled CPU might actually result in higher battery consumption (specially taking into account that modern CPUs are pretty good at regulating their own power consumption)?
I'm sure the answer depends on a lot of variables so let's assume some specifics (although it would be great if one could make some extrapolations to more general scenarios):

Samsung Galaxy J5 2016 phone (Quad-core 1.2 GHz Cortex-A53 CPU, 720x1280 Super AMOLED screen)
Google Chrome browser
Screen brightness is the same for power saver and non power saver scenario


text:
How to use Wi-Fi and hotspot at the same time on Android?
Is it possible to create a Wi-Fi hotspot from an Android device using its Wi-Fi connection rather than Cellular data?
Without the help of any third-party application (Like Netshare), by changing some code in setting application?
Note:
I'm having AOSP 7.0 so there is no question of the root device.

Related: Android as WiFi bridge with AP

This is related to AOSP7 which is quite old. On Android 11 on my Pixel 3A, and my Pixel 5 both support connecting to mobile data using Wi-Fi and transmitting hotspot of the default route, at the same time.

WI-FI REPEATER MODE ON ANDROID
I don't know of any straight forward tool other than Android apps (which use Wi-Fi Direct) that will let use wi-fi and hotspot at the same time. Neither it's a standard feature introduced in custom ROM's so far (AFAIK). However you can do this manually if you are comfortable with commandline usage. But it's NOT possible without root.
WHAT'S NEEDED

Rooted device
Device must support nl80211 driver
All newer devices with Qualcomm MSM chipset support this AFAIK e.g. Xiaomi's Redmi Note 4 (mido) built with MSM8953.
Kernel must also support this driver. To confirm:
~# zcat /proc/config.gz | grep CONFIG_CFG80211
CONFIG_CFG80211=y

~# lshw | grep wireless=
       configuration: broadcast=yes driver=wcnss_wlan multicast=yes wireless=Qcom:802.11n

Device must support managed mode and AP mode at the same time.
~# iw phy | grep -iA2 'valid interface combinations'
        valid interface combinations:
         * #{ managed } <= 3, #{ IBSS, AP } <= 1, #{ P2P-client, P2P-GO } <= 1,
           total <= 3, #channels <= 1

This means that your wireless chip supports creating at maximum 3 interfaces, one of which can be in AP mode, with others being in managed or P2P mode, and at maximum 1 channel is supported. If channels value is 2, you can operate both interfaces on different channels. However using same channel is recommended to avoid interference.
Standard wi-fi interface on Android devices (usually wlan0) is always run in managed mode. We are going to create a virtual wireless interface to be run in AP mode.
Linux tools: iw, ip, iptables, hostapd, dnsmasq etc.
You can also use wpa_supplicant in place of hostapd with slightly different configuration.
Usually these binaries come bundled with Android. However there are modifications by Google and vendors to make these tools fit for Android needs. So they may not behave as standard Linux tools and in rare cases you might need to compile them from source.
Wireless tools should be newer enough to have support for driver nl80211.
Terminal emulator (Termux is a good one)

STEPS:
For ease of use, I have summarized all steps in a shell script with brief explanation. You can put this on your $PATH e.g. /system/bin/android_ap and execute it directly: ~# android_ap start. A Custom Quick Settings Tile can also be created for ease of use.
#!/system/bin/sh
set -e
#set -x

[ "$(id -u)" != 0 ] && echo 'Not running as root!' && exit

SSID=MyAP                           # set this to your desired string (avoid spaces and non-ascii characters)
PASSCODE=foobarfoobar               # set this to your desired string (8 to 63 characters)
WIFI_INTERFACE=wlan0                # set this according to your device (lshw | grep -A10 Wireless | grep 'logical name')
SUBNET=192.168.42                   # must be different than WIFI_INTERFACE
AP_INTERFACE=${WIFI_INTERFACE}-AP
IP=${SUBNET}.1
DIR=/data/local/tmp/$AP_INTERFACE

USAGE()
{
    echo 'Usage:'
    printf '\t%s\n' "$(basename "$0") start|stop"
    exit
}

STOP() {
    # hope there are no other instances of same daemons
    pkill -15 hostapd dnsmasq
    # remove iptables rules
    iptables -D INPUT -i $AP_INTERFACE -p udp -m udp --dport 67 -j ACCEPT
    iptables -t nat -D POSTROUTING -s ${SUBNET}.0/24 ! -o $AP_INTERFACE -j MASQUERADE
    iptables -D FORWARD -i $AP_INTERFACE -s ${IP}/24 -j ACCEPT
    iptables -D FORWARD -i $WIFI_INTERFACE -d ${SUBNET}.0/24 -j ACCEPT
    # delete AP interface
    ip link show | grep "${AP_INTERFACE}:" && iw $AP_INTERFACE del
    rm -rf $DIR
} >/dev/null 2>&1

CHECKS()
{
    for binary in iw ip iptables hostapd dnsmasq; do
        which $binary >/dev/null && continue
        exit
    done

    # this check is necessary if need to use single channel
    if iw dev $WIFI_INTERFACE link | grep -q '^Not connected'
    then
        echo 'First connect to Wi-Fi for internet sharing.'
        exit
    fi

    if ! iw phy | grep -iqE '{.*managed.*AP.*}' && ! iw phy | grep -iqE '{.*AP.*managed.*}'
    then
        echo 'AP mode not supported.'
        exit
    fi
}

CREATE_AP()
{
    if ! iw dev $WIFI_INTERFACE interface add $AP_INTERFACE type __ap
    then
        echo "Couldn't create AP."  # :(
        exit
    fi
}

FIND_CHANNEL()
{
    # find what channel wi-fi is using
    CHANNEL="$(iw $WIFI_INTERFACE scan | grep -C5 "$(iw $WIFI_INTERFACE link | grep SSID | cut -d: -f2-)" | grep -i channel | tail -c3)"
    if [ -z "$CHANNEL" ]
    then
        echo  "Couldn't find channel info. Are you are connected to Wi-Fi?"
        STOP
        exit
    fi

    # if more than 1 channels are supported, use any frequency
    [ ! -z "$CHANNEL" ] || CHANNEL=11
}

ADD_IP_ROUTE()
{
    # activate the interface and add IP
    ip link set up dev $AP_INTERFACE
    ip addr add ${IP}/24 broadcast ${SUBNET}.255 dev $AP_INTERFACE

    # routing table 97 needs to be put necessarily on Android
    # because in main table, route for $WIFI_INTERFACE takes priority (ip route show)
    # and all traffic goes there ignoring $AP_INTERFACE
    ip route add ${SUBNET}.0/24 dev $AP_INTERFACE table 97
}

HOSTAPD_CONFIG()
{
    mkdir -p "$DIR"
    cat <<-EOF >$DIR/hostapd.conf
        # network name
        ssid=$SSID
        # network interface to listen on
        interface=$AP_INTERFACE
        # wi-fi driver
        driver=nl80211
        # WLAN channel to use
        channel=$CHANNEL
        # ser operation mode, what frequency to use
        hw_mode=g
        # enforce Wireless Protected Access (WPA)
        wpa=2
        # passphrase to use for protected access
        wpa_passphrase=$PASSCODE
        # WPA protocol
        wpa_key_mgmt=WPA-PSK
    EOF

    # you can tune other parameters such as mtu, beacon_int, ieee80211n, wowlan_triggers (if supported)
    # for better performace and options such as *_pairwise for better security
}

INTERNET_SHARE()
{
    # allow IP forwarding
    echo 1 >/proc/sys/net/ipv4/ip_forward
    # route and allow forwrding through firewall
    iptables -t nat -I POSTROUTING -s ${SUBNET}.0/24 ! -o $AP_INTERFACE -j MASQUERADE
    iptables -I FORWARD -i $AP_INTERFACE -s ${IP}/24 -j ACCEPT
    iptables -I FORWARD -i $WIFI_INTERFACE -d ${SUBNET}.0/24 -j ACCEPT
}

DHCP_SERVER()
{
    # configuration
    cat <<-EOF >$DIR/dnsmasq.conf
        # we dont want DNS server, only DHCP
        port=0
        # only listen on AP interface
        interface=$AP_INTERFACE
        listen-address=$IP

        #bind-interfaces

        # range of IPs to make available to wlan devices andwhen to renew IP
        dhcp-range=$IP,${SUBNET}.254,24h
        # where to save leases
        dhcp-leasefile=$DIR/dnsmasq.leases
        # set default gateway
        dhcp-option-force=option:router,$IP
        # add OpenDNS servers for DNS lookup to announce
        dhcp-option-force=option:dns-server,208.67.220.220,208.67.222.222

        #dhcp-option-force=option:mtu,1500

        # respond to a client who is requesting from a different IP broadcast subnet
        # or requesting an out of range / occupied IP
        # or requesting an IP from expired lease of previous sessions
        # or obtained from some other server which is offline now
        dhcp-authoritative
        # don't look for any hosts file and resolv file
        no-hosts
        no-resolv
    EOF

    # open listening port
    iptables -I INPUT -i $AP_INTERFACE -p udp -m udp --dport 67 -j ACCEPT

    # start dhcp server
    dnsmasq -C $DIR/dnsmasq.conf
}

if [ "$1" = stop ]
then
    STOP || true
    exit
fi

[ "$1" = start ] || USAGE

# basic check
CHECKS
# stop running instances
STOP || true
# create virtual wireless interface
CREATE_AP
# find channed already used ny wi-fi
FIND_CHANNEL
# configre newly created interface
ADD_IP_ROUTE
# configure acces point daemon
HOSTAPD_CONFIG
# start hostapd
hostapd -B $DIR/hostapd.conf
# share internet from Wi-Fi to AP
INTERNET_SHARE
# run a dhcp server to assign IP's dynamically
# otherwise assign a static IP to connected device in subnet range (2 to 254)
DHCP_SERVER

echo Done.

SOURCES:

Linux Wireless Modes
Software Access Point
create_ap
Linux and Android routing tables
hostapd.conf
dnsmasq.conf

Very interesting, will try this on my mido, I  noticed the custom quick settings app on the provided link isn't free, any free similar tool to achieve the same, thanks by the way!

@xavier_fakerat I've my own app for tiles and sending notifications from commandline, but it's not very beautifully finished to release publicly. I'll once I get some time.

I tried executing the script and it says "unknown option" anything I am missing. Running Android 9 on Redmi Note 4, is it possible to get the script as magisk module?

@xavier_fakerat uncomment set -x and see which command throws error. // Yes you can. But I haven't. I prefer init services.

There is an app called VPN Hopspot - Tethering/Wi-Fi repeater on Google Play, it's open sourced on GitHub at here. Should work on most recent android devices powered by snapdragon SoC (root required).
Disclaimer: I'm not affiliated with this app.

Thanks for mentioning it. Just to clarify, the app hijacks Wi-Fi direct to broadcast a second SSID but it works.

The VPN hotspot app also supports using a Wi-Fi hotspot from another Wi-Fi network, essentially repeater mode but without Wi-Fi direct restrictions. I did have to turn off hardware acceleration to make it work, but I'm not seeing a speed reduction. I'm getting 80Mbps download, through a client phone of a non hardware accelerated rooted repeater phone of a non rooted 200Mbps hotspot phone.

You can not simply do it without root. But you can use USB and BlueTooth tethering using a Wi-Fi network. I would suggest using BlueTooth tethering if you want to share internet on other phones because it is a mess to do all that to use Wi-Fi and hotspot at same time.

I am using Xiaomi Redmi Note 6 Pro. It can turn both WiFi and HotSpot at same time, without root.


text:
Has 2FA authenticator latency increased since upgrade to Android 9?
Since upgrading to Android 9/Pie, coworkers and I have noticed increased latency in receiving pushes to our authenticator apps (Okta, Salesforce Authenticator are my only two examples; haven't been using Google Authenticator). What used to be a wait of 1-5 seconds is typically a 10-20 second wait. Is this a known issue?  Before going to the app vendors, is there anything to explore in Android settings?

Google has again changed the scheduling of background activities for saving battery. This may have an affect on the Google push messages. If you are waiting for a push message make sure the device is active (display on and unlocked).

Based on my observation I would assume that Google has changed something in the push messaging backend because on all Android platforms the push messages now take much longer than before (several minutes instead of seconds).


text:
What is LgeGnssLocationProvider and how do I stop it from keeping my phone awake all the time?
After I have upgraded my LG G6 to 8.0 I've had this extremely annoying (partial) wakelock that keeps my phone awake all the time. It's LgeGnssLocationProvider according to BBS and is caused by the system. After some research I found out that GNSS stands for Glonass. When I turn of GPS completely this wakelock does not occur. The weird thing is that when GPS is on the wakelock does not happen always, but regularly. I used battery historian to figure out if something specific triggers it but I can't say for sure.
I have been struggling with it for quite some time. I rooted my phone to disable anything that had to do with GNSS but nothing worked. Over at XDA there are no answers either. I'm kind of running out of options. Any ideas on how to at least figure out what is causing this wakelock? Perhaps some way to trigger a notification as soon as the wakelock is detected?

Just asking, anything preventing you from turning off GPS when not using it?

According to this thread you could try disabling com.lge.gnsslogcat. Your issue is also mentioned in this reddit (apart from the Reddit you started).

@AndyYan We had this already in now deleted comments. Ortix prefers not to. Though some [tag:automation] could jump in here, of course :)


text:
How to prevent Google Play Books from uploading ebooks?
Even with Enable PDF uploading disabled on Google Play Books application every book I add gets added to the cloud.
Is there any way to disable this behaviour?

"every book I add" -- where do you add them?

@Firelord I'm just downloading the epub from Chrome and opening them with Google Play Books.

This seems to be an old and unfixed problem (or a feature). https://productforums.google.com/forum/#!topic/play/FsyGe7Z7DQY

@Firelord nice find.. too bad. Hopefully it get's fixed soon.

Google assumes that you would be using at least two devices to read a book at some point of time, so it only provides a feature to upload the ebook and then read it, or optionally download it to read without internet. There is no option to directly read the ebook without uploading it.
When you tap an Ebook in your file manager or in Downloads app, and provided that you have other ebook reader apps installed with none selected as default, Google Play Books offers the option to open it with heading "Upload to Google Play Books" which overrides the setting anyway.
So the solution is to compromise with the functionality or switch to an alternative.


text:
Can I bypass TWRP asking for password to decrypt storage?
I have Xiaomi Redmi Note Plus. I wanted to install TWRP and root my device in order to flash mods. Well, the 1st time I enter TWRP after flashing it with adb, it demands the password. In steps, they mention that the password is the same as the one you had in the previous ROM. But actually, it didn't work.
Trying a different password/PIN without 0, still nothing, the problem that I lost all my data during the process.
So how can I disable or pass this password permanently to decrypt my storage and be able to flash mods?

That TWRP requires a password is because your /data is encrypted, which is default since Android 6.
To permanently decrypt the filesystem, you need to format /data and flash a "disable force encryption" package. Be aware that formatting /data will delete all your files, including photos, music, etc. in your internal storage.
Also be careful when flashing other ROMs or applying OTAs, as most of them will make your /data encrypted again and you'll have to format it again. You need to flash the "force encryption disabler" every time you flash another ROM/OTA.


text:
Can a Whatsapp account be spoofed?
I've had a big privacy concern lately regarding the safety of my Whatsapp account. Ever since my phone was stolen from me and returned by certain malicious individuals, I've had the weirdest feeling that they secretly "spy" on my Whatsapp messages. I've been told I've left "seen" on my friends' messages at times when I was almost certain I didn't use the phone. Other times I've had the weirdest feeling that they "know" the content of my messages, as they would nonchalantly just say something I texted recently they couldn't have known without, well, snooping on my messages. But as paranoid and insecure as I am, I cannot quite tell if it's just my overly active imagination playing on me, or if it's actually possible that my Whatsapp account's been hacked. I've attempted to solve this myself and I didn't have any luck since half of the information on the internet regarding this is either strongly claiming this is possible while the other one claims this is NOT possible, both with little or no evidence or explanation to suggest the either one. So, I understand how Whatsapp works:
1.) Your number is tied to your public key stored in the database
2.) Your public key is generated on your phone when you verify the account by OTP
3.) When you change your device, a new OTP is sent to your number and a new public key is generated. This public key is now valid, while the old one is no longer. Your account is not active on your old phone. (Because Whatsapp doesn't support more than one device per account at the time, except for Whatsapp web.)
Now, my main concern is, since the private key is generated locally (i.e. on your smartphone), is it possible to fool the app into generating the SAME public key as on your old phone, essentially fooling the database into thinking that only one device is connected to your account?
Internet claims this can be apparantly done by spoofing the MAC address and obtaining the confirmation code sent to the phone associated with the account that's being "hacked". Next step is to delete the confirmation code SMS off the phone to remove any proof.
Reasons why I think it's not possible:
1.) It would be a safety hole, actually you can easily figure out a MAC of a device if it's on your local network without even looking into the phone settings -> about. Your password would essentially be only as strong as your grip and any screen lock you have on (I've had none)
2.) It is possible that two devices by accident have the same MAC address
3.) I don't think Whatsapp would just so easily let people bypass their security features.
Reasons why I think it could be:
1.) A part of the internet says so
2.) My experiences (but keep in mind I tend to be a bit paranoid over security issues)


text:
Fail when pull system files in twrp recovery
My phone is Xiaomi Redmi Note 5, bootloader is already unlocked, haven't rooted yet. I boot to TWRP with the command fastboot boot twrp-3.2.3-0-whyred.img. Then
.\adb remount
.\adb pull /system/fonts

but it said adb: error: failed to stat remote object '/system/fonts': No such file or directory
I also can't list /system folder in adb shell:
.\adb shell
~ # ls /system
(output nothing)

~ # mount -o remount,rw /system
mount: can't find /system in /proc/mounts

TWRP automatically does not mount system partition. It has to be mounted manually via its UI (under Mount option) or via command line. The fact that ls /system showed you nothing gives us the evidence that the partition indeed is not mounted. It can further be confirmed using mount command.
If you must insist on mounting system partition using command line, you must get the block device ID for that partition first. There are myriad ways to do that and some are listed here by Izzy. I think the easiest may be the command blkid as mentioned here by Ryan. In my device it outputs:

~ # blkid
/dev/block/mmcblk0p42: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p41: LABEL="system" UUID="da594c53-9beb-f85c-85c5-cedf76546f7a" TYPE="ext4"
/dev/block/mmcblk0p38: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p26: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" TYPE="ext4"
/dev/block/mmcblk0p21: LABEL="FSG" UUID="e4a4f807-109f-5459-8138-e744bc88c397" TYPE="ext4"
/dev/block/mmcblk0p1: LABEL="NONHLOS" UUID="75d3199b-b965-b45f-9298-59c724d8a58d" TYPE="ext4"

Once you have the block device ID and the filesystem type (ext4 default) you issue the command:
mount -t ext4 BLOCK_DEV_ID MOUNT_POINT
mount -t ext4 /dev/block/mmcblkop41 /system   # this is as an example only

You can now pull the files.


text:
How to gain access to /data directory through ADB shell

Despite the fact that I have root access, nevertheless I can not work with this directory. But why?
Info about my phone:

Android version - 6.0.1
Android security patch level - 2016-11-01
Kernel version - 3.18.19+

DIsable selinux and then try.

@Firelord setting it to "permissive" should be sufficient I guess. But could you give a pointer on how to do either of the two?

SELinux must be the reason. You are running with context untrusted_app which won't be able to access /data with context system_data_file. Set SELinux permissive or add a policy statement with supolicy tool.

You must be running adb daemon with root access i.e. 'adb root'. Instead if you start adb as normal daemon and then enter a root shell with su command, your context will also be changed to su (su daemon's injected context) which can access almost everything on phone.

Try setting SELinux to permissive then access /data again:
ibug@android:/ # setenforce 0
ibug@android:/ # ls -l /data
(output)

I tryed it, but occur error: "setenforce: Couldn't set enforcing status to '0': Permission denied"

@SNMetamorph Did you run the command with root?

Yes, through ADB - i.imgur.com/jJX9BqH.png


text:
Keep android phone running for days
This is our situation:
We have an android tablet that must run some stuffs for longer than one day (running videos, musics or other).
For this purpose we attached our tablet to an external battery which should keep it charged for the duration, otherwise it would discharge totally in some hours.
The problem
After android M, with the battery process changed, this is what is appening:

Phone is running at (for example) 80% battery
After one hour of running it is fully charged to 100%
The phone goes into a non-draining mode (for battery saving)
The external battery, without any effective drain, goes standby mode.
Even if the phone goes back to 99%, the external battery is standby mode and won't charge it

Result
The phone discharges in some hours and the attached external battery is fully charged.
Is there any way to solve this problem? I would avoid creating an app that hardly drain battery every time it goes to 100% and stops at 99%.. but looks like the only way I found.
PS:
Actually we are intentionally ignoring that long-usages of the batteries reduces their life, at this moment it's not the point
Thanks all!

I would suggest rooting the phone and using this app Battery Charge Limit from Play Store. It can set limits to stop and start charging say for example 60% start charging and 90% stop charging. You can do away with external battery .For more details see XDA app thread. It doesn't trip safety net if you are using Magisk. Bonus, it's open source


text:
Using a private OSM file as custom overlay on OSMand?
I have a custom OSM file which contains just a boundary of some region, and I would like to have it permanently displayed in my OSMand app, as an overlay or underlay.
I created the file using gpsbabel to convert from a KML file.
I have a hard time figuring out how to make OSMand see the file as available for underlay or overlay. When I click "Configure Map", and then "Overlay map...", Enable, "Install more..." it shows me a long list of maps, but no option to use the OSM file I created.
I know I can display the GPX file on my map using the Show GPX data option in "GPX files" menu, and that works, but just curious to learn if and how I can display custom maps using overlay or underlay.


text:
Notification icon that looks like "S" inside a square

I am talking to my kid thru WeChat, so I am familiar with the WeChat logo message notification. But I don't know what that S in a square logo is.
What application is that?

This phone looks like a jailbroken and customized iPhone?

I do not know. But you can swipe down the notifications bar to see what app is showing that icon. It will also have a notification in the tray.

Yeah.. But its my kids phone.. So i wont have access to it. Just would like to ask if your familiar with that. We are far apart actually.

The icon is a Screenshot (Screen grab) app notification icon. So I guess there is nothing to worry about.


text:
Clearing Maps defaults doesn't work
Google Maps was set as the default maps app on my Samsung S8.
I went into settings-->apps-->Maps-->Clear Defaults, and now it says "None set as default".
However, in Calendar when I click on an address - it will launches Maps and doesn't ask me to choose a default. I also have Waze installed ... so why aren't I asked to choose a default again?

See if clearing cache of calendar helps. Or Try to set up default with this app
https://play.google.com/store/apps/details?id=com.aboutmycode.betteropenwith

Maybe something to do with "Open links by defaut" e.g mapy.google.com etc, play around with these settings and see if it solves the issue


text:
USB connection mode options no longer showing in notifications drawer
My phone is plugged into my computer via USB - it is charging, but I do not see any options to change the USB connection mode in the notifications drawer. I have seen and used these options in the past, but it is not showing now for some reason. They looked similar to this - https://cdn.arstechnica.net/wp-content/uploads/2015/05/usb2.png.
For context, I had the phone in 'USB Debugging' mode earlier on, but I've since turned it off - adb devices was not listing my phone anyway, although that also has worked in the past.

I am running Android 8.1 on a Nexus 5X.

Check in Developer Options is in "select USB configuration" if it is set to charging. If so change

Thanks, I am able to change it there which will suffice for now. The sticky notification to change the USB connection mode has not reappeared in the notifications drawer though.

Welcome. You can self answer :)


text:
URL Scheme for Google Gmail?
WhatsApp and many other services offer URL Schemes (they work like direct links or deep links) for their apps. An example is whatsapp://.
Is there one available for Google Gmail?
I tried these and they are not working for the latest Gmail release on Android 8.1:
googlegmail:///co?subject=<subject text>&body=<body text>
googlegmail://
gmail://

The AndroidManifest.xml of GMail indicates that it registers the following URL schemes: auth mailto gmail2from content package and android_secret_code.

The URL schema does not necessarily begin with a unique protocol. For example, if you click this link https://www.youtube.com/ with the YouTube app installed, you'll be prompted to open it in the app.
AFAIK the Gmail app doesn't have a "supported links" defined, so you have no chance to make a link open in Gmail.

If you try to login to https://gmail.com in the Chrome Browser on Android, there will be a dialog with a button named "Open in the app" on the first visit. If you click it the Gmail app (if installed)  will be launched. I couldn't find out how they did it but my guess is an URL Scheme.

@Tom That could be the web gmail.com detecting your browser and prompting you, not the Android system.

Yes exactly. So it should be possible to launch the Android Gmail app from the browser, right?

@Tom No, not exactly. It depends on gmail.com 's web page instead of the Gmail app or the Android system. That means you're not able to make an arbitrary Gmail link open in the app, but only a selected set of them.


text:
Change Resolution of HDMI output (USB-C / Slimport)
I have been working on this problem to avail
I want to change the screen resolution of my EXTERNAL monitor connected to my android phone. Phone is android 7.0 LG v20, and I am using a USB-C Hub with an HDMI cable to my ULtrawide 21:9 monitor. The problem is, the phone displays at it's native resolution; 16:9, giving black bars on the screen. I have done lots of research, and it apparently is possible to change the hdmi output resolution
However, I am wanting to change the resolution to a different one aspect ratio, (2560x1080P), not lower the resolution like in these questions:
Example A
Example B
And, when running the code dmesg and filtering with "hdmi" or "edid," the
hdmi_edid_add_sink_video_format: EDID: format: never comes up. I did try >cat /sys/devices/virtual/graphics/fb1/edid_modes which got me quite a few options/numbers, however I have no idea which is which and if they are supported. Anyone have a solution?
I do NOT want to change the entire resolution of the phone through ADB, I know you can change it with adb shell wm (resolution) but I have read of issues such as black screens and It is irreversible without ADB/ a terminal emulator, I wouldn't always want the phone in ultrawide mode.


text:
How to disable viber in-app sounds

Hi everyone, appreciate your help on this. How can i apply in android the similar viber setting in iphone to disable the in-app sound?
Basically i still want to hear the viber notification when my phone is locked but i do not want to hear the ding sound when a new message comes in while I'm in the chat thread already.


text:
KDE Connect Cannot Use SD Card?
I'm using KDE connect from my Kubuntu 18.04 desktop to try and connect to my tablet (Tab A 10.1 running Android version 7). The internal SD card registers (I can see it) in Dolphin (File Explorer), but I can't read or write to the directory, and I get an error when I try to do so.
From what I recall, this may be due to an Android security policy. Is this what is occurring? Is there any way to use KDE connect to access the SD card? (My tablet has very little internal memory)

Is the phone connected in USB charging mode? Changing it to MTP should do the trick

Having same issue. Its a bug https://bugs.kde.org/show_bug.cgi?id=377058


text:
Should I update Android OS on 1.5 yrs old phone?
Will it make it slower or faster?
My phone: Moto G Play (XT1607)
Not rooted.

Your question is unclear... Do you mean official OTA updates or something else? If your device rooted or modified in any way? And updates likely will not make it faster or slower, at least not noticably.

@acejavelin not sure what OTA is. Phone not rooted.

OTA - Over The Air...

If you are talking an official update provided by the manufacturer (in your case Motorola/Lenovo) the answer is nearly always yes.

I would agree, there is rarely any reason not to accept official updates from the manufacturer on a stock device.

Yes you should go for it. Software update always optimises phone performance improvement in Security , Bug Fixes and may other things. I hope this will help


text:
How can I run a Python script in terminal emulator?
I tried running a Python script in a terminal emulator (app) with ./script.py and I get an error saying "permission denied". It is to run a Twitter bot even if I close the app.
So, I googled how to do this and it said I have to download a file called python.sh, but their link is down so I can't download it. When I google the file, I only get results for how to load .sh files in Python.
How I can do this?

Why do you want to run in terminal emulator only? This open source app Q python let's you run Python scripts on Android. It's available on F Droid. Here's the website of that app http://www.qpython.com

Because I want to let it run even if I close the app (its for a twitter bot... Should have specified... Sorry)

You could use UserLAnd, GNURoot Debian, or Termux. Termux is probably the most lightweight, and also has Swipe keyboard support (have to swipe the entire input to the side to access it), and you can enable an extended keyboard that pops up over whatever keyboard you use to access arrows, Tab, Ctrl, etc. UserLAnd also has the extended keyboard and the same Swipe support, and runs a full version of Linux in a chroot environment so you can have root access using sudo or the root user.
Using Termux & UserLAnd on an unrootable Android and both are amazing. rsync is the greatest thing ever to keep project changes up to date because AFAIK it's not possible to edit the data stored in either of their filesystems directly using an Android app, but can be done using vi/vim/nano/etc inside of Termux or in UserLAnd's session (have to connect to it through SSH or VNC).
Just make sure to follow the suggestions during UserLAnd setup and grab ConnectBot and/or bVNC -- those are currently the only supported apps to connect to it. Also, while it claims to be able to setup for a single app I have not seen any directions for that, and have no idea how it would be possible as the UI doesn't seem to have anyway to do so.

Ok thanks I will try those but also where would I find the python.sh? I have been looking everywhere and it seems to have completely disappeared...

No problem :) Once you get setup it should be possible to follow one of the many guides. Just make sure you're looking at directions for the right Linux version if there are any version-specific directions if you go the UserLAnd route which can be Debian or Ubuntu, or GNURoot's Debian. For the minimal installation as in the above directions it should be fine to follow along. Termux doesn't seem to be any different overall, but does not appear to be a "minimal" install.

Your file permissions are not appropriate. Change it using chmod +x path_to_file and then run it using file_name.py.

I tried that and found the only way to change permissions of a file is with root and I cant root my phone... But thanks for the help


text:
SD card problem when Downloading
I recently updated my Nokia 3 system to android 8,  I have a space of 5 GB in my SD card and 6 GB internal. I had been using my SD card as internal storage before I updated my system. But now with that free space of 11GB ( 5GB SD card and 6GB internal, I can't download songs from SNAPTUPE , it indicates that "there's no enough space in the SD card, free up your space" what could be the problem, and how can I solve it out without interfering with the data already in my SD card. Thank you

Are you sure, you have checked the correct partition for free space. Use an app like DiskInfo to check all partitions.


text:
How to reuse phone board without casing, screen
I have galaxy j7 2016 board with this rom installed. I have a lot of knowledge about hardware but my question is how to access shell without screen if usb debugging is not enabled? I basically want to control system via adb. I have board, both cameras, both speakers and vibration motor. Im planning to add antennas.
Board rev: SM-J710F_REV03 2016.03.15 V10
Can someone explain me how to take control over phone without screen and digitizer?

Can you access another Galaxy J7 2016?

I tough about that but i cant. That's why I asked this question.


text:
Popups with promotion
Sometimes, I'm getting popups on my Samsung S8 with promotions. Especially it is annoying during navigation with Google Maps. How to disable popups? How to know which application is responsible on that?

what is Izzy's list and where I can find it?

@vico Izzy is me, and the list beeshyams was pointing at is here: Ad-Blocker. If your device is rooted I recommend AdAway; if not, the firewall app Netguard can also block ads. To find out which app is causing the popup, see e.g. Got stuck with a Pop-up on the main screen and the questions linked to it.

@izzy thanks for filling in. I thought I posted the link. Growing old and forgetful. Sorry Vico


text:
Mute SMS audio notification
My phone is kept always on vibrate mode. When the screen is on and I get an SMS I can see the pop up notification and that's fine. Problem is when the screen is off - SMS sender name is read out aloud " Message from [sender name]" preceded by two long vibrations
I find this highly annoying sometimes and found no setting to mute this ( to replicate screen on behavior). I don't  want to activate DND mode because I want to know that I have a text message waiting to be read via  vibrate buzz
Surprised to see that no one complains of this on the net so obviously no solution ( Imagine your phone is on vibrate in a meeting but your phone announces to the world message from AXAIRNF or some embarrassing contact name) I tried automation, some Xposed / Magisk modules but none worked
Edit These additional attempts didn't help

Switching off the notification of SMS app
Trying alternate apps such as Textra etc
Putting the device on low ringer / notification volume when screen is off
Suspecting Text-to-Speech to be the culprit, killed that service when screen is off - no luck

Any solutions # including rooted means?
Mia1 stock 8.1 rooted with Magisk and Xposed (had same problem on 8.0 too). Stock Messaging app

# If you want to suggest automating, please stick to MacroDroid (don't want to add another automation app just for this). Gravity Box doesn't help. If your solution involves an alternate messaging app, it should be good at blocking spam SMS / be able to control reading of sender name(Textra already tried)

Is this a Xiaomi-specific thing? None of my phones have ever done this.

@DanHulme Possibly as I don't have any other device to check. Also probably the reason, it's not on net. Search on Xiaomi forums didn't help

@DanHulme : You could be right, don't recall having this problem when I was on a custom AOSP ROM for a short while... Sigh... That much more difficult to get a solution

Have you checked Accessibility --> Talkback --> settings --> Speak Caller ID? OnePlus seems to have that as well. But there it was Sound About, which apparently has such a setting in its "Alert Behavior" section (settings).

@izzy Good  google-fu, thanks but no such setting neither that app :-)

I have similar option on my Motorola device. It is Talk to me  under Moto voice. Using this setting device will read loud calls and texts when you are in particular location or in driving mode.

@RahulGopi Thanks. Ya, I know since I had Moto device but no such feature :(

Textra is a good messaging app which works well for both blocking and silencing certain contacts. I don't have a Xiaomi device at my end so there is not much I can help with. :(

@Firelord : Thanks for responding. I had used Textra earlier and yes it blocks well. Here the issue is that IDK who will send SMS when the screen is off. It could be a contact, non contact or those spammy ones or those non spam but with those long makes like banks, Airtel etc. You would be getting similar. All those sender names are read out. The issue I feel is not the messaging app but tts overriding the settings and reading out (name). To test this theory, I have just used Xposed edge to kill Google tts when screen is off//

And it didn't work. For anyone reading the question, I had to do what I didn't want - keeping the volume really low so that it is not read out

It had nothing to do with the device  settings (but OS bug )
It was a macro misbehaving and reading out for any contact rather than chosen contacts (since the device is always on vibrate wanted audio alert for text messages from chosen few).I never suspected this since a similar macro for incoming calls was working fine
Edit: Shared logs with the developer who confirmed that it is an OS bug

My code in simple terms does a look up on the number in your contacts database and then when it matches it requests the ContactsContract.PhoneLookup.DISPLAY_NAME....your device OS has some kind of weird issue where it doesn't return a sensible name.

and hence it was getting triggered universally for any contact

Stupid of me not to figure this earlier and waste time (mine and other's). Interestingly this macro works fine on Marshmallow so something has changed

+1. How did you find out it was a macro to begin with?

@Firelord: Thanks. Pure chance. Was going through Macrodroid system log for something else and saw this activated, when they're was no reason. Something had changed I think in the way SMS are detected because same version of MD on MM works fine

Some phones have a drive mode where the notifications are spoken. You might have a shortcut button from the pull down settings or go into the talkback settings and it should be near the bottom.
If not a drive mode then go into talk back settings , tap verbosity, then unselect speak when screen is off.
See if that is the answer.

Thanks. I don't have drive mode on my phone. All talk back settings are disabled and there isn't verbosity option any way


text:
What does the Storage Manager setting actually do?
I'm trying to understand what the Storage Manager option in the Storage settings is supposed to do. The text says "Remove photos & videos" and I chose the option "Over 90 days old". So far, it hasn't done anything. My phone is an HTC 10.
I've found some articles introducing the feature that seem to imply that ALL backed up photos will be removed every 30/60/90 days.
In Photos, the "Free up space" option removes anything that's already backed up, regardless of age.
So does the storage manager option do what it says it does? When or how often does it run? Does it instead clear all backed up photos every X days?

According to this blog (though I don't find Smart storage on my device now on 8.1 but did see that in some earlier version)

Smart Storage is the Android Storage Manager which allows you to automatically delete the files in your device memory that has been backed up in Google Drive. The feature can be specified by a time period of deletion to take place, options range from 30, 60 or 90.
This indicates the time by which the photos & videos on your device will be deleted after being uploaded to Google Photos

(Emphasis supplied)
I haven't used it so can't confirm that but is reasonable since "Free Storage" clears downloads and unused apps instantly
Edit: This doesn't work. Answer retained on OP's suggestions. Please see comments

That is definitely the same dialog that I'm looking at. That makes me think it'll do what I want it to do, but it hasn't done anything yet.

Like mentioned , you need to upload all today to Drive (if not set to auto upload), set that to delete after 30 days and after a month check if actually deleted or not. No immediate confirmation

Please do leave a feedback after testing- it would help others :)

Sure thing. I set it to 30 instead of 90, so I'll see what it does.

So it is now 33 days later, and nothing has happened automatically. My next experiment is to set it to 90 days and press the button next time it asks me if I want to free up space.

Thanks for your update. Interesting. Please do post your findings. All the best

I used the notification, which led me to a card in the Assistant tab of Photos, which deleted everything but the last 30 days even though I set the storage manager setting to 90 days. I am just more confused now. Maybe storage manager was working, but didn't remove anything from before the setting was turned on? Maybe the "free up space" card doesn't use that setting?

I still haven't seen it delete any photos automatically. I suspect this control only affects the "Do you want to free up space?" notification.

Thanks Jay. You are probably right. If you agree will take down my answer

You could leave it up. This discussion is good.


text:
How to take a photo similar to an old photo?
Is there any app to help take a photo similar to an older photo of the same building/view? like in the past winter or summer.
I am thinking of an app that shows the old photo on screen a little bit transparent, so I can adjust the position of camera and take an identical photo.
Searching didn't help. Thanks.


text:
Is it possible to/how do I change the CSC of an android phone
I apologize if I did not formulate the question correctly however I'm a 'noob' regarding Android versioning and Android ROM software etc. Here is some background regarding my question.
I bought a 'not simlocked' phone from a retailer here in the Netherlands. With the intention to buy a sim only subscription from a network carrier as this was 50 euro's cheaper. Note that the network operator is also Dutch.
On the website of the network operator it shows that the Samsung Galaxy A5 2017 supports Wifi calling at that provider. However I do not see WiFi calling in the options. I suspect this is because the CSC on my retail Samsung Galaxy A5 2017 is not the same as a Samsung Galaxy A5 2017 bought at Tele2. The Samsung helpdesk of my country says it should be possible if you insert a Tele2 simcard.
My question is, is it possible for me to change the CSC of my android phone to that of the CSC of Tele2/My network carrier as I would like to use WiFi calling. Inserting the Tele2 simcard does not change anything with the software.

AFAIR CSC change needs root. If your device is rooted, you can find ways of doing it on XDA or use an app

Just flash it. Search on the Internet CSC file then flash it using Odin


text:
A way of doing secure data exchange in Android?
To my knowledge, all current Android apps with internet permission enabled are prone to apps stealing data. For example, if you have a messaging app, all your messages are readable by the company which provides the app and in turn, whoever can hack/bribe the company. The company could use end-to-end encryption, but that's not verifiable unless the app is open source. Even if it is, every app release has to be audited separately which is not realistic.
Is there a way(3rd party or native), or any plans to implement secure data exchange for Android?
The way I'd expect it to work is either by using a specific permission which would only allow data encrypted by the OS to be sent over the network or some kind of state-sharing via file-system + 3rd party app doing the encryption and sharing only.

Comparing the binary and source of an (Java based) open source app is not that problematic on Android as the built environment does not have so much variants (like on C/C++). I think even automated comparisons should be possible. Hence only the diffs between the releases would have to be audited.

Thanks for the input. I don't think continuous audits are a viable option even if only diffs are audited. It's manual labor of high expertise which is extremely expensive and even error prone.

The closest you'd get to such a thing is a VPN. The VPN provider can apply any encryption you like to the data. You could even set up a VPN server with a built-in IP address filter (like an adblock system), which doesn't allow the app to talk to its developer's servers.
That all sounds good, but that wouldn't stop Facebook reading your WhatsApp messages. Most messaging apps are designed to communicate via their own servers, instead of directly from your phone to your friend's. This is important for a couple of reasons:

Most cellular providers block incoming connections from the Internet to a phone, possibly combined with NAT making several phones share a single IP address. Most Wi-Fi networks use NAT too. To pass messages back and forth, you need some fixed endpoint to connect to, and that's the server that runs the app.
Servers are also used to store the uploaded messages and keep them in sync between all your devices (phone, tablet, web interface, and whatever else). They also allow offline messages, just like how voicemail is on the cellular provider's server, not on your phone.

So if you want your mainstream chat apps to work at all, you need them to talk to their servers. Your best alternative for just chat is an app where you can host your own server and be in charge of your own security. Jabber (aka XMPP) is one such chat system, and there are several open-source clients for Android. You can either verify that the client you like isn't talking to anything but your Jabber server, or put it behind a firewall that only lets it talk to that one server.
Self-hosting is the only trust-free option for other similar services, such as email or cloud storage.

To be clear, I'm not looking for a chat app. I'm investigating the problem in Android design/ecosystem and am thinking about possible solutions. A chat app is just an example of a use case where I would want to share data between multiple devices, have an app be closed-source and be confident that the app is not able to send any of my unencrypted data to it's servers. I don't think a VPN would be of any use in this case since if I don't allow the app to pass unencrypted data to it's servers, the app won't work properly.


text:
Work-around to get USB-C headset to work for calls (in Android smartphones)?
It is an interesting, albeit frustrating, phenomenon of late that manufacturers of soft- and hardware these days (including Huawei, Samsung and apparently also Google) release new products which do not function as advertized:

I use my usb-c setup for mostly listening to hi-res music, it's
  annoying when I get a phone call and I have to disconnect my USB-c
  headphones to answer the call. Seriously Samsung needs to get there
  head out of the ass and fix this problem. How can every other flagship
  phone handle this including the OnePlus
  6.

and

bump. So I did some bumming around. I don't think it's the equalizer
  that's the problem. I think the phone app is incapable of routing
  calls through
  USB-C.

and

Google acknowledges Pixel 2 USB-C headphone adapter issue, says fix
  coming

and

It’s 2018 and USB Type-C is still a
  mess

and

How USB Type-C Has Failed Android Smartphone
  Users

Here's what I'm confronted with: Huawei P10 with up-to-date software as of 3 Sep 2018, build nr. VTR-L09 8.0.0.375(C432) and "Dialer" app/process (?) version nr. 8.1.0.301 and Huawei Active Noise Cancel(l)ing Earphones 3 (cm-Q3)  where sound works and calls through other apps like WhatsApp works but not through the standard telephone app. Any ideas on how to route standard phone calls through another (trustworthy...) app?
Other than finding a viable work-around all I can do is to hope that a fix will percolate through eventually through an update...

I'm having exactly the same issue. Tested it with a Honor 10 on Android 9. Working correctly there. So I guess with Android 9 it should work.

I'm on 9 on Samsung Galaxy S8 and it still doesn't work :(

Works on Samsung S10e; still doesn't work on Huawei P10 (with Android 9). Oh well, I guess the guys at Huawei have other other worries these days which trump this issue... :(


text:
How to change contact colors with Messages 3.5?
I used to be able to change my contact/conversation color in Android Messages. With that latest update I can't find this feature. Where should I be looking?

You can't change it. There is an ongoing discussion in Google product forums. You can give a feedback there as also from the app
OR
uninstall this and find the previous version apk and install that  / change the SMS app


text:
When I try to sync with Google Photos, it stops after a few photos
I am using the Google Photos app on my OnePlus 3 android phone. Each time I open it, Photos starts backing up (e.g. "Backing Up - 734 photos left"). This number will drop by 10 or 20 and then just stop. I have left it for a long time and it never changes. If I then close the app and open again, it will do another 10 or 20 and then stall again. So it is very slow and tedious. I am backing up to Google Drive, which has plenty of free room. Anything obvious I can do to fix?
I have posted on a Google forum but got no replies.

See if deleting the cache of Photos app helps

This happens to me too. It happens in Google Photos, Dropbox, etc. This is probably WiFi, and I believe it happens when WiFi gets re-directed from this task to something else which takes focus from this operation. If I monitor it manually, and continue to bring "focus" to the operation, it becomes less obvious, but clearly tedious; a long delay will cause the original connection to be unrecoverable until restarted. You want it, it'll be best to do it.


text:
How to Remove persistent "Samsung Account" notification? It keeps showing up regardless of settings
I have been struggling to find out how to turn off (or otherwise hide) the notification that says:

Samsung account
Tap here to use your Samsung Account

I've read elsewhere online about ways to stop this, but they don't seem to be working.  I tapped the notification, held down and went to "Details" on the Notification.
According to that screen, I shouldn't be getting these notifications but still am.

How can I turn this off (without signing in to Samsung or creating an account)?
(Galaxy S8 Active, Android 8.0.0, Samsung Experience Version 9.0)
Edit: 9 November 2018 - Now the notification is showing and making a "text message" noise. I still can't figure out how to stop this!
Edit: 17 Dec. 2018 - Still getting the notification multiple times per hour sometimes, and it makes the text message noise. I've done everything I can find online and there's no solution still...
Edit: Nov 2020 - whelp my s8 galaxy bit the dust and I got an S10. It doesn't appear to have this issue, but unfortunately am no closer in learning how to stop the notification

Why don't you just create an account and sign in?

@ShaunRoselt Users may not want to create Samsung accounts due to privacy considerations, not wanting to give personal data to even more companies. If a Samsung account is not required for using the device, it should be possible to disable this notification without signing into a Samsung account.

@inquiryqueue - Exactly.  And, IIRC the notification has never appeared when I had my S6 Active, I think 3 years ago, until the most recent Android update on my S8 Active.  So it's certainly not required at all.

For me this also started happening with the most recent update, after about a year with the same phone.

For folks who come to this question seeking solution see if my answer helps you out: How to block specific notifications from an app?

Constantly had the notification appearing and making noises, tried everything but nothing worked until I tried this;

Settings
Select "Notifications"
Tap "Advanced" (top right corner)
Tap the 3 dots in the top right-hand corner and select "Show system apps"
Scroll down to "Samsung Account"
Turn off

Thanks for the reply! Unfortunately I have done that, it's off and notifications are blocked, but I'm still getting the notifications.

It's impossible. The notifications are enabled, and switch to turn it off is disabled.

The only thing I could do was switch Alerts to "silent"


text:
Prevent VPN disconnect
I installed DNS66 to use a custom hosts file to prevent access to certain websites. However it's easy to disconnect from it because a notification shows up permanently. I could use a blocking app to block access to the DNS66 app but I don't have a way to block access to the notification. Is there a way I can keep the VPN on permanently and make it difficult to disable?

Samsung S7 on Android 8.0.0

What android versions is in use? You should be able to hide the notifications entirely on newer versions by going to the Settings > Apps > DNS66.

The notification is from the system rather than the app itself. I've added deatils about the is.


text:
How do I install nethunter?
My device is Motorola G3(2015) [XT-1550] android version 6.0.1(osprey-apac-cust) and I want to install nethunter but I am confused with which .zip should I flash? Different different tutorial saying different different file. One+ One cm 12.0 or Nexus 5/6/7/9 marshmallow.
Even as well confused with method also some tutorial saying flash zip file and some are saying with root file explorer replace couple of file.
Please guide me toward right direction.
Thanks in advance.

You should not flash any ROM image that does not claim to support your exact device.
Therefore you should not flash any of the ROMs you mentioned!
See the full list of supported devices including Android version : https://github.com/offensive-security/kali-nethunter/wiki
Android is a bit different than common OS like Windows or Linux - it is not a generic OS that supports multiple devices types, instead it supports only a very small subset of devices. Therefore you have to use the correct ROM image or just don't do it.

Understood but couple of people saying nethunter can support any device that's why I am curious

Anyone people claim nethunter support any device because it is overlay ROM


text:
Having problems with my phone please help :(
My phone has been making these weird blue and red shapes for a while now and I have no idea how to turn it off, anyone got any ideas?

This could be the result of enabling the developer option: Show layout bounds. If that is not the case you could try backing up your data and factory reseting your phone. This will delete all your apps and all user(s) info resetting all your settings to default and returning the phone to its factory state.
Your SD card will be deleted as well so remove it before the reset. So any apps that you dont have an apk file for you will need to download and install again. You can then use your backed up data to restore the apps to thier original configuration in many cases. Take care not to use any suspicious apps from questionable sources. If you installed some sort of app with permission to write over other apps this could be the cause as well.

Great answer, but the questioner probably doesn't know what that option is. It might  be worthwhile explaining better how to find it and turn it off, rather than going straight to a lengthy description of a factory reset.

noted. thanks mod. could you have a peek at my one and only question at your convenience?


text:
Disable all in-app browsing while keeping Chrome as default browser
In previous versions of Android, in-app browsing was facilitated using WebView (1). Disabling in-app browsing system-wide could be achieved by uninstalling the WebView app (2).
Recently, an in-app version of Chrome, called Custom Tabs, took over the WebView app (3, 4). This meant the previous trick no longer worked.
How to disable in-app browsing has already been discussed previously (5). However, the answers included uninstalling Chrome and, thereby, uninstalling Custom Tabs.
Is there a way to keep Chrome as the default browser, while also disabling in-app browsing? Clicking on links in certain apps would, then, result in the full Chrome app opening and rendering the webpage.

@beeshyams Thanks, it's related but not the same. At least, your answer there is suggesting exactly what I am trying to avoid (editted Q to make this more clear). Also, Daniel Mahler states "Chromer is a nice way to manage links opened from other apps (Web Heads) but AFAIK has no control over if other apps use it. If somebody knows a one shot method to change the browser settin for all app I am all ears". I too, am all ears.

The WebView component is just a special app. You can have multiple WebViews installed and select the one you want in the Developer Options. Unfortunately the System WebView have to be signed as system app, therefore installing some sort of a "dummy WebView" requires root.

@Robert Are you suggesting that, if one has root access, a dummy WebView app can be installed which, for example, simply launches the Chrome Browser and opens the clicked URL there? Also, could you explain what the Developer Options is? Is there anything I can exploit there?

The "Developer Options" is the developer settings menu you can unlock by touching the built number 4 times. I was talking about a dummy WebView app that just does nothing. Opening an URL designed for a WebView in Chrome does not make sense, as Chrome does not have access to the app-internal resources.

@Robert Would a potential dummy WebView not be able to redirect the URL to Chrome? Have you got any suggestion how to get all apps to open in-app links with the Chrome Mobile browser?

Seeing that they're are no answers try this- 1. Install "Shelter" from FDroid. It's an open source app that creates a work partition to run apps safely 2. I happened to notice that in developer settings Chrome is disabled and web view is enabled for work profile in sheet mode. 3. Clone Lynket (referred in now deleted comment) to work profile and also the apps you want to open in Lynket 4. Set Lynket as default browser in work profile 5. I tried with one app only and it opens up by default in Lynket rather than in app. Of course Lynket is not Chrome fully (slim version of Chrome)//

// so you may miss out on certain functionalities but you are not uninstalling chrome and not using in app

You need to know this before disabling all in-app browsing,
In-app browsing is a required component by built-in requirements in order for web functions to render properly, as described by Google:
Android WebView is a system component powered by Chrome that allows Android apps to display web content. This component is pre-installed on your device and should be kept up to date to ensure you have the latest security updates and other bug fixes.
So there may be a chance that if you disabled in-app browsing and the Android System WebView, while Chrome as the default web browser, some web components may start failing to function properly.

Is it really powered by Chrome?  You can completely neuter Chrome (and possibly even delete it), but still use and update WebView.

Well I am not the only one saying that it is powered by Chrome, Google says it too.

Do you have a source for Google claiming that?

https://play.google.com/store/apps/details?id=com.google.android.webview&hl=en_US (Read the description to see what I am saying)

Thanks William. First of all, that was written by Google, so we know it's not true. ;)  All kidding aside, I'm not sure they are being accurate in that case; Google may just be using it as an opportunity to promote their browser.  I'm very interested if you find any other references of WebView being based on Chrome instead of chromium.

Considering you click the 3 dot, then "open in chrome" and it has the exact scroll position you were at... Yeh I think it's using chrome 1:1 with a modified ui
From the Google app, click more, general, open in app


text:
Can an Indian GSM phone be used in the USA?
I'm considering buying the Oppo F9 Pro, which has a dual sim GSM slot. I currently have consumer cellular service with a nano GSM sim card. would I be able to import the Indian phone and use it here without any problems?

A quick search brings up this site:
https://www.frequencycheck.com/compatibility/XnDDU6Y/oppo-f9-dual-sim-td-lte-vn-ph-64gb-cph1823-f9-pro/united-states
Which indicates that the Oppo F9 Pro would only have 2/2.5G speeds on some US carriers with GSM and NO support on the rest of the carriers for signal or speed. It would appear to be limited pre-2008 data speeds in the United States and presumably still usable as a phone/SMS on supported carriers.

As a more general answer:

Look up what frequency bands are used by your carrier.
Do the same for your specific phone model.

There are websites dedicated to answering this exact question, for example frequencycheck.com.
From this site (or a Google search), we can figure out that Oppo F9 Pro supports:

900 (E-GSM)   GSM
1800 (DCS)    GSM
1900 (PCS)    GSM

Now you'll have to compare this with whatever info your find for the carrier you wish to use, the website mentioned above makes the comparison a lot easier. Here's a hardcoded link for your device with "country" set to the US:
https://www.frequencycheck.com/compatibility/XnDDU6Y/oppo-f9-dual-sim-td-lte-vn-ph-64gb-cph1823-f9-pro/united-states
In short, you'll only get support for 1900 (PCS) on some carriers (GRPS/EDGE). No speeds to write home about.


text:
LG VS980 Bricked
I got a LG VS980, don't know what version exactly I only managed to get to the home screen for a short while. Everytime I start the phone it's stuck on the LG screen, I boot into factory reset (it doesn't work and shows a dead android) and open system recovery and get this:
[Recovery.cpp][main()] ############### factory reset sart ##################, Thu Jan 1 00:22:18 1970

E:failed to mount /system (No such file or directory)
[recovery.cpp] system partition mount failed!!
E:failed to mount /cache (No such file or directory)
E:Can't mount /cache/recovery/log
E:Can't open /cache/recovery/log

Continues with many more lines of can't open and mount.
The recovery thing gives me a few options:
reboot system now <-- Just boots into the infinite LG screen
apply update from ABD
wipe data/factory reset <-- Tried this, doesn't work
wipe cache partition <-- Also doesn't work
reboot to bootloader <-- Just boots into the infinite LG screen
power down
view recovery logs
apply update from sdcard <-- This phone doesn't have an SD card slot (atleast I couldn't find it)

I think booting from ABD would work only problem is I can't access my phones internal storage...
Just so it's clear: I got this phone about a week ago from Verizon, I got this error not even a day after getting the phone. I go back to the store the next day and they are unwilling to replace it or help me (apparently what I did, which was nothing, voided warranty). This is my last hope to save this crap before I buy a new one from else where.
Any suggestions?
EDIT: I've gotten ADB to work to an extent. I got the OTA file and the program ready to go, now ADB can't find the phone to send it the files. I have the Android SDK which I got from the android studio, it still will not find it. I know you usually have to set it to debugging mode and what not, but remember I can't access the phone's home screen. I'm still digging, so I'll update if I make any progress.
Second edit: I'm thinking this thing is toast, I've gotten the computer to recognize the phone but now the phone is saying this:
E:failed to mount /cache (No such file or directory)
E:failed to mount /cache
E:failed to set up expected mounts for install; aborting
Installation aborted.

Third edit: I don't know why this happens, but if I leave the phone off for a bit, it will boot to the main screen. I am able to access the things I would need to flash the damn thing.

After messing around a bit and digging a bit more into ADB, the phone can connect to the computer but it's unable to access the files. I'm going to keep digging see if I can't figure this out.

I remember messing with these years ago when they first came out, like 2013 or so... They were good phones in their time but finicky as heck even back then, especially the internal eMMC (the internal storage chip), we saw a lot of them go bad and fail back when they were still pretty new. They shipped with KitKat, but later the Lollipop update came out and made them extremely difficult to modify or flash, and it seems to me caused a lot of bricking as well. Not to be a downer, but it is very likely toast. Even people who got them JTAG programmed saw them fail shortly afterwards.

You may want to try flashing a new OS. I have personally never done it before. But, I strongly recommend sticking with the same OS version, as there will most probably be compatability issues


text:
How to add a CA to trusted root
Since android 7, apps will not obey the user installed CA certificates anymore. So as a tester, if you want to test and verify issues such as certificate pinning you need to install the custom proxy certificate into android trusted root.
I made a research on this and found an article which does this. It basically suggests the following:

Create a custom certificate using OpenSSL
Convert the certificate to android compatible form (with SomeHash.0 extension)
Move the certificate to android trusted root /system/etc/security/cacerts/ using adb push and move the certificate to the proxy tool as well
Change permissions and own the certificate by root user.

I did exactly everything mentioned in the article and yet didn't succeed. I could see my certificate installed in the Root CA store and I have manually checked and enabled it as well.
When I connect the proxy tool, I am able to intercept all the http traffic but no https traffic with HSTS enabled. I even deleted all the certificates in the trusted root and kept only my certificate. Still the same behaviour. What might have gone wrong?
I tested this with an android emulator running on Genymotion. I didn't try it on a real physical device. The emulator was Google pixel with Oreo 8.0.
I believe this is a much needed requirement for all the testers. So any helpful input is much appreciated.

If the site uses HSTS and it is displayed in a WebView you also have to clear the HTST cache (or the complete app data of the app) if you have used the app at least once without MitM proxy. HSTS pins the certificate therefore adding a system ca cert is not enough in this case.

How did you convert the certificate to hash.0 file? Maybe your file's hash didn't match.


text:
Xperia XZ recording video sync problems
I have an Xperia XZ F8331 with Android 8.0.0, which has been working fine for months. Recently, however, whenever I record a video it works for a few seconds, then the picture will freeze for a short time but continue recording sound, then everything will restart, meaning the recorded video is way out of sync with the sound for the rest of the video.
It's basically made it unusable for recording videos.
Nothing has changed; it is recording to the flash card, but it is a high speed card and has always worked fine before.
What could the cause be?

you may want to consider re-flashing your ROM/Firmware. This always works with my friend. You have the same phone unit.


text:
Is there any limitation on the number of times I install a custom-ROM to my android device?
How many times can I install a custom ROM to my android device? Can I do this an infinite number of times? The word ROM (Read-Only-Memory) makes me think that there must be some limitation to the number of times one can do this.

ROM refers to two things

The memory (non volatile) in the phone
The software or Operating System (OS) that is run on the phone and resides or is "flashed" on the memory portion referred above

In common Android usage when you say ROM, you are usually referring to the second such as stock ROM (one that came with the phone), custom ROM (one that is developed) which you flash
You can flash or install a ROM as many times but certainly not infinite number of times- something in the hardware / memory is bound to break at some point of time ! But yes, theoretically you can
Related What is the difference between: Rooting, Jailbreak, ROM, Mod, etc.?