text:
Google Play does not download application when VPN connection is active
I use OpenVPN Connect. When VPN connection is active Google Play can show pages, pictures, video, but does not download the application: "pending...".
To begin download I need to disable VPN, then it works. Tell me how to research a problem and make GPlay work over VPN?

If all other apps work fine, then VPN client app or the VPN server must be blocking the connections to Google servers.

I have tried different servers and different VPN provides including VPS hostings. Almost all of them cannot download APKs. I am pretty sure Google intentionally is protecting APKs from being downloaded through VPN.

After all, I found Aurora Store. It is like Google's Play Store, but has some cool features like anonymous apk download, sharing, version selection, etc.

"Since VPNs basically spoof your location, it may lead Google Play Store to think you aren’t in the country where you should be according to your device, and it can pause your downloads.
If that’s the case, there really isn’t much you need to do to fix the issue. All you need to do is disable the VPN app on your phone and you should be good to go." Source
It is my experience that google play store DOES block your downloads if you are using VPN. (in my case openvpn)
What you can do:

disconnect your VPN (you do not need to disable your app, only disconnect while you are downloading)
turn off mobile data (even if you are connected currently via WIFI, this can help too)

Sure, Gigle used to block downloading APKs through VPN. I do not want to disable VPN! That is not even considered as any usable solution. I appreciate your port but it is not an answer. I definitely know that it works without vpn as you can see in my question. Suggesting to disable vpn sounds strange - this is obvious anti-solution. ;(

You have to disable only while downloading, after that you can enable it. In openVPN it is only one click to switch off, after that you can click one more and the VPN will be active again.
Personally i would not trust any 3rd party site to install my APKs, what is the point to use VPN if you let the trojan horse into your house?

I know. I used to do so. But once you disable VPN and "kill switch" your location, family (who goes to internet from same IP), and too much other information are gathered in a moment by gigle. Disabling VPN is not a solution.


text:
Play Store silently updates apps although auto-update is disabled
On my Samsung Galaxy Note 4, I have XPrivacy installed.  This tool tells me about newly installed and updated apps.
In the Google Play store settings, I've set my "App download preference" to "Ask me every time".  I've also set the "Auto-update apps" preference to "Don't auto-update apps".
Still, once every couple of days, XPrivacy informs me about random apps being updated.  Sometimes it's the Google Play store itself being updated.  Other times, it's other apps.  Usually, a bunch of apps are updated at the same time; therefore, I doubt it's some self-updating feature of those apps.
So, in sum:  I've tried to set things up so that the Google Play store doesn't update apps without asking or even informing me.
Why is Android ignoring my preference?
Security reasons?
I feel betrayed.  :(

Check which apps are updated. Most likely they are Samsung specific and they are updated by the "Galaxy Store" not Google Play Store.

Next time I'll get unwanted updates I'll post them here but these are definitively not Samsumg apps only. Examples I can remember include the Play Store itself and CamScanner

The Play Store and the play store support libraries are not apps and therefore are not affected by any "Do not update" policy. Especially the PS libraries even update over cellular even if you have set only to process updates via Wifi.

source: Stack Exchange

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

sort: votes


text:
AFWall+ not blocking consistently
I'm running a rooted pixel 3 (Magisk) with the "liboemcrypt disabler" module for running Netflix, Magisk Hide and the dg.db edit to disable attestation for running Google Pay.
The firewall will work sometimes after applying the rules a bunch or after a restart, but it doesn't work about 80% of the time and works only about 20% of the time.
I have tried disabling and enabling, enabling delayed startup, disabling LAN and toggling IPV6 (found a few posts about the same issue and those were the suggested fixes).
Here is my config:
https://pastebin.com/raw/2ANFnpCS
Any ideas on how to get AFWall working?

I am not very familiar with AFWall+, but you mention IPv6 and based on this info I would assume that AFWAll/iptables resolves the network addresses to different IPs. For cloud hosted services the IP changes often and also may differ if not the same DNS server is used. If you want to block something you should use the different approach: Instead of blocking certain sites (black listing) you should block everything and then allow only selected sites (white listing).

AFWall doesn't block connections, kernel does. AFWall just adds iptables rules. Output of iptables -S along with UIDs of affected apps would be more helpful to rectify your problem.

@Robert AFWall blocks apps via iptables, not IP addresses as Ifran said..

@IrfanLatif Yes you are right, I should have used more accurate language. My bad. I will connect over ADB and dump the iptables output when I'm back from the office in a few hours.

@anon, sorry but by your comment you show that you don't understand what iptables is. It is the client program used to configure the filters/firewall rules in the kernel and the firewall works on IP level (hence it block IP addresses). Therefore what Irfan wrote is very accurate.

@Robert iptables has the ability to block by UID tho, correct?

@Robert I just verified by looking at the source of afwall+, and it indeed block by app uid, not IP address.

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


text:
How to clear all of this Bloatware that is insidiously being put on my phone?
As is probably a very regular question here, I have a Samsung Galaxy S5 Neo and I'm having problems with the amount of memory being clogged up by what I will assume is garbage. I have installed on my phone ES File Explorer and it helps with cleaning things up, but I'm consistently low on internal storage and as a result my phone is slowed down. I barely have any  documents or downloads on my phone. The largest set of files is pictures which take up 194.38 MB. Here is where the issue is, there is 9.72 GB being categorized as "Other". So the percentages are as follows:

Picture: 194.38 MB
Audio 103.99 KB
Video 124.23 MB
Document 8.68 MB
APPs 6.34 MB
Others 9.72 GB

It drives me up a wall because I don't save anything to my internal storage and always use my SD card. So I'm of the feeling that it is my provider and Samsung that have put a bunch of bloatware on my phone. So the question is how to find it and get rid of it all? Suggestions on a set of instructions I could follow? I feel there i no reason my phone should be this restricted for storage considering how I use it.
Thanks in advance.

Welcome to Android Enthusiasts! Have you already checked with our bloatware tag-wiki? Your question seems covered more than once, though I'm not 100% sure to what degree. 4 matching Q&As are directly linked from the wiki, 30 additional candidates via this search.

Yes I've taken a look at some of the articles and it does appear the answers there are sufficient. Should I delete the post?

If there's one other question which you'd consider a duplicate of yours, we could close this as duplicate. Might help others finding it easier. You know, different search terms and such. You could also mention multiple useful ones (and update the tag wiki if you thing that would be helpful).

Yes. One of the other posts I read was essentially a duplicate. So we could close this one.

Related: https://android.stackexchange.com/a/216132/218526

Which one, @dc3rd, so I can mark it here?

@Izzy    this one:  https://android.stackexchange.com/questions/64008/storage-on-htc-desire-x

Thanks, marked!


text:
How can large amounts of files be transferred to Linux via MTP?
I'm trying to copy all of my pictures from my Samsung Galaxy S9+ to my laptop (running Linux Mint). I can transfer a few files at a time no problem, but I have amassed 1000's of files in my pictures folder.
When attempting to copy the folder across using the file manager, the operation stalls and then fails every time. I would prefer to do it via the terminal, but since Samsung phones use mtp to transfer files, I have no idea what commands to use.

I had the same issue while transferring large number of files. I came up with a solution which I have mentioned in an another answer here: Ultra slow speed while transfer files between PC and Samsung S5.

MTP is crap for that task – OK for a few files in "small folders", but stalling for folders with many files in, or copying many files, or trying things in parallel.
As you use Linux, ADB would be a great alternative. I use that with adbfs-rootless, which allows mounting the device locally on your computer and works like a charm (I'm using it for years, so I can confirm it works at least up to Oreo).
First, to get ADB running, you can check with How do I get my device detected by ADB on Linux?. ADB binaries are shipped in the repositories of many distributions by a name like android-tools-adb so you can easily install them; alternatively take a look at Is there a minimal installation of ADB? for an even smaller footprint.
Installation of adbfs is quite straight-forward if you have the essential build tools already installed on your system: according to the readme, next to build-essential you'll need libfuse-dev and pkg-config available on your system. The git package is only needed if you want to clone the Github repository (alternatively, you can simply download the code as ZIP). cd to the directory you've cloned/unpacked the code to, and run make. When that's done, copy the adbfs binary to your path (e.g. into /usr/local/bin or ~/bin if you've set that up), so you don't need to specify the full path with each call – and you are ready to use it.
Finally, create a mount-point (an empty directory where your device's file system shall appear, say mnt in your home directory), and mount it with adbfs ~/mnt – et voila, your copy party can begin; from the terminal or graphically is up to you. When done, use fusermount -u ~/mnt to unmount your device again.
As a little bonus for you: should you sometimes have multiple devices attached at the same time, you'll need to set the ANDROID_SERIAL environment variable to tell adbfs which device to connect to. Here's a little script making that easier for you:
        case "$(adb devices|grep -v "devices"|grep -v -e '^[[:space:]]*$'|wc -l)" in
          0) echo "Nothing to mount (no device attached)" ;;
          1) export ANDROID_SERIAL=$(adb devices|grep -v "devices"|grep -v -e '^[[:space:]]*$'|awk '{print $1'})
             adbfs /mnt/droid
             ;;
          *) devices=''
             tmpfile=$(tempfile)
             adb devices -l|grep -v "devices"|grep -v -e '^[[:space:]]*$' > $tmpfile
             while IFS='\n' read i
             do
               test="$(echo $i | awk '{print $2}')"
               if [ "$test" = "device" ]; then
                 devices="$devices $(echo $i | awk '{print $1}')"
                 devices="$devices \"$(echo $i | awk '{print $5}')\""
               fi
             done < "$tmpfile"
             rm -f -- "$tmpfile"
             serial=$(whiptail --clear --menu 'Multiple devices found, make your choice:' 0 0 0 $devices 3>&1 1>&2 2>&3)
             export ANDROID_SERIAL=$serial
             adbfs /mnt/droid
        esac

If you wonder about the indention: it's a snippet out of my Midnight-Commander (mc) menu. You can insert it there, preceding it by
= t d
+f ^mnt$
m       Mount Droid

So whenever your mount point is highlighted by the cursor, pressing F2 will make that menu item available and you can easily mount your device. For unmounting, here's the second menu item:
+f ^mnt$
u       uMount Droid
        fusermount -u /mnt/droid

^mnt$ is the name of the mount-point you've created – so if you used a different name, you need to adjust this as well.
Enjoy!

Thank you! Mounting the phone is a much better solution.

Definitely. Makes you completely free to chose the copy software you prefer – be it command-line cp/rsync or a graphical file manager. You could even go a step further and integrate that with a udev rule – so whenever that device is attached, its storage would be mounted automatically. I haven't done that as I'm unsure how to handle the umount then, which must be done before unplug and thus would be hard to automate ;)


text:
Is it possible to backup without root?
I tried restoring a TWRP backup of my Pixel 3 and it ended up putting my phone into a bootloop. I downloaded the latest factory image and reflashed (not knowing the latest version bootloops when Magisk is flashed). I downloaded the last version to support Magisk but a) held off on rooting for a little bit b) accidentally flashed the newer one a second time. Fast forward to now: I spent the time (quite a long time) to reinstall and configure all my apps and then realized my mistake when I looked at my terminal when I went to root.
I tried adb and Google backups, but neither are backing up any non-Google app. Is there anyway to make a backup of my app data without root? Could I take a twrp backup of just my user data and restore it once I flash the version that supports rooting? Or will the changes that caused encrypted data to not be supported by twrp not be compatible? If the user data can't be restored by twrp, is there any way to unpack the twrp backup and manually transfer the data with adb push? Or could adb pull work?

adb backup should work at least on some apps. Test it for example with a simple tea timer or stopwatch app those apps should not disallow backup. If this does not work the backup function on your device may be defect (encountered this once on a Lenovo tablet).
But if it works for simple apps that the it is just that the other apps disallow backup (android:allowBackup=false set in AndroidManifest.xml). Note that this settings affects disables adb backup as well as Google Cloud backup.
If the app disallows backup then there is other way to backup the data except using root permissions.
However if you have root and TWRP installed you may be able to perform a user data backup. However AFAIK this only works if TWRP is able to decrypt the user data. If you only see the encrypted files or the encrypted partition I doubt that restoring those files will later work on the same device (it will never work on a different device).
Note that a (decrypted) user data backup independently how it was created can not be directly restored via ´adb push`. For doing so adb would have to run with root permissions which is usually no longer possible (unless you have a manipulated adb version on the device).
What you can do with root permissions is backup and restore app user data. For example manually by using tar in an adb shell with root permissions.


text:
Retrieving a contact that I called and talked to on Telegram, but accidentally deleted
I talked to this person on Telegram (sent many messages, exchanged pictures), and then called them a few months ago via default Calls Android application.
Contact was deleted (call logs too), and Telegram chat / contact deleted as well.
Is there any way I could retrieve this person's telegram contact, or telephone number?
Telephone company only saves 1 month call logs (Vodafone).

The following steps from How can I recover deleted Telegram chats? should work:

Use the iKeyMonitor app to recover all the messages that you need quickly.

Sign up

Sign up for a 3-day free account of iKeyMonitor to recover deleted
  Telegram messages.

Log in to the Cloud Panel

Log in to the Cloud Panel to download iKeyMonitor to the target
  Android phone or iPhone.

Install iKeyMonitor

Install iKeyMonitor and activate it with your license key.

Start Recovering

Start recovering deleted Telegram messages on Cloud Panel.

How exactly does it work? How can I know it's safe?

@Tomas have you tried it?

I will, but I want to know how it works. What if it steals my credentials or something.

@Tomas it won't, if you don't want to look at other options in the linked article

"I am afraid that is not possible. Telegram is cloud based. Once you delete your chats, they are also deleted on the servers and can’t be retrieved. More so if you do it for the person with whom you are chatting in the next 48 hours." what about this comment there? why would this app work if it's true?

Based on my understanding, this app is a monitoring and logging tool using keylogging and accessing current data on the Android device. While it claims it can recover deleted messages, I think it depends on the previously logged data. I kind of doubt it'll work for messages already deleted before using this app...


text:
Encryption failed after turning my android phone on
when i turn on my phone it shows "Encryption failed" and "Unable to start up your device. the encryption process was interrupted. you need to reset your device to factory default setting. this will erase all your data " and it has a reset button. this reset button and flashing my phone with Odin does not help. how can i make it work again?

Which files did you use? You should flash "repair firmware" which clear the memory. In the other hand, this can be a hardware failure meaning the flash memory is damaged

when i turn on the phone it shows "encryption failed" and it says you should factory reset your phone and there is a reset button which is factory reset . but it does not work

you said you did flash it with Odin!

yes but the problem is still there . after installing  new software or factory reset , it still says "encryption failed" on startup

Any idea on what did cause this? It seems to me that this can be a hardware failure with the eMMC chip

it was on my hand when it suddenly freezed then i had to wait until its battrey runs out of charge . when i turned on this showed up

here is a shot of the problem https://imgur.com/a/JEKmdXW

Ok, I guess the file system is compromised. You just need to flash the whole firmware. Download the so called "repair firmware" then flash it with Odin. Leave all options to default while flashing. Should solve this

What is the model number? Should be printed on the back and start by SM-

it is galaxy A8+ SM-A730F

Well, grab these files from here: https://www.full-repair-firmware.com/2018/01/repair-firmware-a730f.html?m=1

i downloaded as you said, with pit file Odin failed and without pit file it is still encryption error  :-(

So I'm afraid that your memory chip is damage. You'll need to bring it to a repair shop to get it fixed as they have advanced tools that can access the memory directory


text:
How to leave a Whatsapp group without informing the entire group?
Gradually we realize that some Whatsapp groups are useless because what could be an important post is lost between tons of offtopic silly videos and images.
Mute the group still shows new images about new conversations.
Leaving the group creates discomfort among the participants.
How to leave a WhatsApp group without the other participants knowing?
Or is there any way to hide the group from the conversation list?

What you are asking has not been implemented yet.

How to leave a WhatsApp group without the other participants knowing?

Sorry. They will know when you leave: "Rogério Dec has left the group" will be there for all to see and know.

Or is there any way to hide the group from the conversation list?

Partially. If you archive the group, it will disappear (actually go to the bottom) from the conversation list. However, when someone in the group sends a message, it will be seen again. Archive it again.


text:
Prevent dark mode from activating during battery saver
I just updated my OG Pixel 1 to Android 10. I normally use light mode (not dark mode), but my phone just hit the threshold to turn on battery saver mode, and now it has forced my phone into dark mode. I can't toggle this in settings while battery saver is on, and I don't see any settings in battery saver to prevent this force theme change. I find it incomprehensible that this wouldn't be an option, given that there are plenty of phones (like the OG Pixel) that still use LCD screens, and thus whose screen colors don't affect the battery usage.
Are there any settings, hidden or otherwise, that prevent dark mode from activating during battery saver on Android 10?

I wish I could give this a bounty. It is really annoying that it changes to dark mode. I hate dark mode and never use it, even when I'm reading in a dark room I just reduce the brightness. I don't mind being reminded that I'm at the low power threshold; I would even be fine with a modal notification. But don't change to dark mode!

According to the source code file

frameworks/base/core/java/android/provider/Settings.java

there is a global setting in the user profile called battery_saver_constants, which can hold several comma separated parameters. These parameters are applied when battery saver is on. Here's the list:
/**
 * Battery Saver specific settings
 * This is encoded as a key=value list, separated by commas. Ex:
 *
 * "vibration_disabled=true,adjust_brightness_factor=0.5"
 *
 * The following keys are supported:
 *
 * <pre>
 * advertise_is_enabled              (boolean)
 * datasaver_disabled                (boolean)
 * enable_night_mode                 (boolean)
 * launch_boost_disabled             (boolean)
 * vibration_disabled                (boolean)
 * animation_disabled                (boolean)
 * soundtrigger_disabled             (boolean)
 * fullbackup_deferred               (boolean)
 * keyvaluebackup_deferred           (boolean)
 * firewall_disabled                 (boolean)
 * gps_mode                          (int)
 * adjust_brightness_disabled        (boolean)
 * adjust_brightness_factor          (float)
 * force_all_apps_standby            (boolean)
 * force_background_check            (boolean)
 * optional_sensors_disabled         (boolean)
 * aod_disabled                      (boolean)
 * quick_doze_enabled                (boolean)
 * </pre>
 * @hide
 * @see com.android.server.power.batterysaver.BatterySaverPolicy
 */

On recent Android's, the global settings configuration file has XML format and is located here

/data/system/users/0/settings_global.xml

So you can add this new parameter called battery_saver_constants with its value enable_night_mode=false like this:
<setting id="9999" name="battery_saver_constants" value="enable_night_mode=false" defaultValue="enable_night_mode=false" package="android" defaultSysSet="true" />

Notice the id parameter, it can be any number but should be unique in this configuration file.
P.S. You need root to edit this file.


text:
Does lockscreen widget still supports in compatibility mode on Android 5 and above?
As per the documentation here:

https://developer.android.com/guide/topics/appwidgets
https://developer.android.com/about/versions/android-5.0-changes.html#lockscreen-widget-support-removed

Google has removed support of lock screen widget from Android 5.0 and above then how this app is still showing widget on lockscreen?
Phone is running on Android 8.

Are you sure this is a widget and not just a notification of the "Medical ID" app?

I don't think this behaviour can be achieved by notification. It is showing in widgets for home screen and the same thing is showing in lock screen also. It can be customised to floatable icon, or floatable window and it is draggable to anywhere in the screen. It shows everytime screen gets locked and removes when unlock the device. The app is free, you can try and check.

The app seems to rely on accessibility service to display that widget like object on the lock screen. If you disable the service you don't get to see that object on the lock screen at all. I, however, have failed to find how the app is using that service to show that object without necessarily relying on overlay permission.


text:
LG K10 2017 M250E deleted partitions
I wanted restore factory settings. Unfortunately I erased partitions in fastboot mode. Now the device is showing only the LG boot logo and keeps rebooting.  I don't have access to fastboot mode and download mode. I probably need scatter file and flash new ROM with SP Flash tool, but i can't do this scatter file.
Anyone can help me?

I would recommend you look for LG K10 2017 M250E ROM firmware dump online. I did a quick google and found a few. Notably: http://www.lgstockrom.com/lg-k10-2010-m250e. The results in a .kdz file that requires special software to open. That software is specific to LG and was easily located online. There's no other way that I know of to recover those partitions.

I have a ROM stock file. I unpacked it and received several .bin files. But I think I need partition images and a scatter file from a working phone. SP Flash Tool requires .IMG files and I have .bin from .kdz files :/

Ah I see. There's a easier way using LG Flash tool instead of SP Flash tool. http://www.androidmtk.com/use-lg-flash-tool. I apologize I just assumed the kdz file would result in a scatter file with your partitions. You can convert BIN to ISO but using the link in this comment, a step by step how to flash the kdz file using LG Flash Tool, is much more straight forward.

I have no access to "download mode" and LG Flash tool requires access to "download mode" :/ When I try to put the phone in this mode I get a message "Your device is corrupt. It can't be trusted and may not work properly"

Are you able to boot to recovery? Turn off phone then press and hold the power and volume down buttons until the LG logo is displayed. If you can get into recovery wipe and factory reset. I want to assume you already did this. If it's boot looping it's a soft brick so it may just need to wipe cached data.

If above does not work what partitions did you delete?

I managed to use WinBin2Iso to create images of both the boot and recovery from the BIN files. Generating the scatter file may be possible with MTK Droid Tools but I don't know for sure. I can look more into it tomorrow. This is a bit beyond my knowledge but I'm happy to continue to help in any way I can.

I can't get into recovery mode now. It probably removed. Before removed it, i choose "wipe cache partition". The phone was still in bootloop. Then I choose "wipe data/factory reset" option. After that recovery mode is not available

Have you tried using the keys to access download mode? Power + Volume Down + Home while powered down?

You can also try powering down, hold Volume up + Volume Down + Power + Insert USB Cable

That's working on the MediaTek MT6750 processor correct?

If that's correct I know how to get your scatter file and we can see what partitions are missing.

"Power + Volume Down + Home" doesn't work, because I don't have a Home button.

"Volume up + Volume Down + Power + USB Cable" - after that appears screen "IMEI Display".
Thanks for your interest in the topic.
I think, I have to wait for someone with a similar phone to solve a problem ;

You should post this issue on XDA Developers forum: https://forum.xda-developers.com/.

Yeah, I will do that. Thanks for suggestion


text:
Does Termux call fork/exec system calls in Android?
There are tutorials (e.g., this and this) that use Termux to compile and run cpp codes in Android. Does Termux run fork/exec system calls and start running the program's main function? More generally, do terminal emulators in android really create Linux processes running directly on the hardware or do they act as a virtual machine and introduce a performance loss?

Termux is a terminal emulator and it runs a shell (bash by default). You run commands there like any other shell on some Linux PC. System calls work  as on any Linux system (except those which require elevated privileges or those filtered through seccomp). Yes terminal emulators create native Linux processes when an executable is run. Virtual machines are run only for Java apps installed as .apks which have .dex bytecode to be run by Java-like VMs.


text:
How to grant an app root access without GUI interaction?
I'm trying to update my APN settings using:
adb shell "su -c 'content update --uri content://telephony/carriers --bind name:s:\""SDR"\" --bind apn:s:"SDR-internet"'"

The first time I run this command I receive a superuser request from the package: com.android.shell. I can grant this manually but I'm hoping to automate the process for practice and knowledge.
I've tried to use the following to list all permissions, but can't find superuser:
adb shell pm dump package com.android.shell

I attempted the following:
adb shell pm grant com.android.shell android.permission.SUPERUSER
adb shell pm grant com.android.shell android.permission.REQUEST_SUPERUSER
adb shell pm grant com.android.shell android.permission.ACCESS_SUPERUSER

But receive an error:
    Exception occurred while executing:
java.lang.IllegalArgumentException: Unknown permission: android.permission.REQUEST_SUPERUSER
    at com.android.server.pm.permission.PermissionManagerService.grantRuntimePermission(PermissionManagerService.java:1398)
    at com.android.server.pm.permission.PermissionManagerService.access$900(PermissionManagerService.java:89)
    at com.android.server.pm.permission.PermissionManagerService$PermissionManagerInternalImpl.grantRuntimePermission(PermissionManagerService.java:2093)
    at com.android.server.pm.PackageManagerService.grantRuntimePermission(PackageManagerService.java:5411)
    at com.android.server.pm.PackageManagerShellCommand.runGrantRevokePermission(PackageManagerShellCommand.java:1730)
    at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:217)
    at android.os.ShellCommand.exec(ShellCommand.java:103)
    at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:21330)
    at android.os.Binder.shellCommand(Binder.java:634)
    at android.os.Binder.onTransact(Binder.java:532)
    at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:2821)
    at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:3856)
    at android.os.Binder.execTransact(Binder.java:731)

Edit:
I tried:
adb shell su cat /data/adb/magisk.db

Which gave:
    SQLite format 3@

�                      .�
�       �-�d
N�tablehidelisthidelist
CREATE TABLE hidelist (process TEXT, PRIMARY KEY(process))/ Cindexsqlite_autoindex_hidelist_1hidelist
                             X�tablestringsstringCREATE TABLE strings (key TEXT, value TEXT, PRIMARY KEY(key))-Aindexsqlite_autoindex_strings_1stringsZ�tablesettingssettingsCREATE TABLE settings (key TEXT, value INT, PRIMARY tablelogslogsCREATE TABLE logs (from_uid INT, package_name TEXT, app_name TEXT, from_pid INT, to_uid INT, action INT, time INT, command TEXT)��tablepoliciespoliciesCREATE TABLE policies (uid INT, package_name TEXT, policy INT, until INT, logging INT, notification INT, PRIMARY KEY(uid))/Cindexsqlite_autoind��/ies_1pol�com.android.shell
���7�/    )�com.android.shellShell�l��uR/system/bin/sh7 /    )�com.an!�id.shmagiskhidel��?5/system/bin/sh
��!magiskhide
��6ucom.google.android.gms/.droidguard.DroidGuardService

That's pretty ugly, so I tried using sqlite3 but it provides no tables? I was expecting a list of something at the very least.
sqlite> .mode line
sqlite> .headers on
sqlite> .tables
sqlite>

I'm using Magisk Manager v18.

What is the root manager app you are using? (SuperSU, Superuser, or some other one?)

android.permission.ACCESS_SUPERUSER was defined by SuperSU but:

Due to changes in Android 5.0 Lollipop, this permission has been deprecated and is completely ignored from SuperSU v2.30 onwards

Also only app which declares a permission in its AndroidManifest.xml file can be granted that permission. Shell (com.android.shell) is an AOSP's dummy app to define UID for adbd, it must not have any such third party permission in its Manifest.
Magisk doesn't use this or any other such permission at all. So you have to grant the permission through user interface. Or try to modify database or configuration file directly where permission preferences are stored. In case of Magisk it's sqlite3 database (/data/adb/magisk.db):
~# sqlite3 /data/adb/magisk.db .tables
hidelist  logs      policies  settings  strings
~# sqlite3 /data/adb/magisk.db '.mode column' '.headers on' 'select * from policies'
uid         package_name  policy      until       logging     notification
----------  ------------  ----------  ----------  ----------  ------------
10146       com.termux    2           0           1           1
~# sqlite3 /data/adb/magisk.db "INSERT INTO policies (uid,package_name,policy,until,logging,notification) VALUES(2000,'com.android.shell',2,0,1,1)"
~# sqlite3 /data/adb/magisk.db '.mode column' '.headers on' 'select * from policies'
uid         package_name  policy      until       logging     notification
----------  ------------  ----------  ----------  ----------  ------------
10146       com.termux    2           0           1           1
2000        com.android.  2           0           1           1
~# sqlite3 /data/adb/magisk.db 'DELETE FROM policies WHERE uid = 2000'

For help on SQLite: sqlite.org
Above commands are working at the moment but Magisk may change database location, table names, table structures etc. any time.
Values may possibly be cached in running processes. So your changes may get ignored or overwritten. In that case putting a modified database from recovery (with proper permissions) may work. I didn't try though.


text:
Hiding the content of the message while the phone is unlocked!
How can I hide the message content in this "drop down menu -- I don't know what's its name". It is hidden when the phone is locked I want to hide it when the phone is unlocked as well.

Maxlock can do that. https://play.google.com/store/apps/details?id=de.Maxr1998.xposed.maxlock&hl=en_US

You will have to completely block the notifications from showing. Or go with the app @Firelord advised on the comments.
From WhatsApp's Configuring your notifications:

Navigate to your phone's Settings app >
  Apps & notifications > WhatsApp > App notifications . On most phones, you will have the option to:

Block all notifications if you wish for no notifications and not even the WhatsApp icon to appear on your phone's status bar.

The above advice can be applied to any app.

Just use an applock for those apps you wanna hide notifications from. Most applocks (if your device doesn't have one built in) have an option to hide notification content of locked apps.

I got an iPhone :D


text:
Firefox on Android, "Save to PDF" -- where does the PDF go?
I am using the steps here.
But... nothing happens, and when I troll around the file system, I do not spot any new pdf.
What am I doing wrong?

The page is downloaded as a PDF in your preferred download location, which by-default is the directory named Download under Internal Storage. When successful, a notification is shown that the page has been downloaded and it can also be seen through Tools > Downloads section within Firefox.
If you do not give Storage permission to Firefox, Firefox confuses the user when trying to save a page. When my Firefox didn't have Storage permission and I tried to save a page, it just did nothing, as in no UI response.

When my Firefox didn't have Storage permission and I tried to save a page, it just did nothing, as in no UI response. --- that is probably what is happening to me.


text:
Android OTA update fail when increased the system.img size
I am working on IMX6Q with Android 7 for OTA update. Current system.img size 499 MB with this OTA update work. I increased this due to compilantion error. If system.img is above 499 MB ota update fail.

eMMC specifications?

Removed webview application from build. webview application is the default one in Android AOSP build. But, It takes 40MB.


text:
Pixel 3a Live Caption
I have bought a pixel and I update the phone to Android 10 but I can't put the live captions the option isn't there any help?

This feature is not yet available. It will probably be available with the new Pixel 4.
Source: https://www.theverge.com/2019/9/30/20891465/android-10-pixel-4-live-caption-accessibility-feature


text:
High battery drain on Nexus 6P with Pixel Experience
I have a nexus 6P with a fairly new battery (some months). It worked quite well, until I decided to flash Pixel Experience because it is the only ROM I found which supports the 6P with Android P.
After flashing, the phone suddenly started draining its battery extremely fast (1h screen time, ~4hs idle).
I couldn't find any troubleshooting for that special scenario, do you have any ideas on what to do?
I would prefer to try everything before changing ROM because I really like to have Android P.

Have you tried Greenify? It's on Google Play Store. Install it and grant root permissions. You can read about it here: https://forum.xda-developers.com/apps/greenify
You can also try to flash Derp Kernel
Credit to https://www.reddit.com/r/PocoPhones/comments/askuec/pixel_experience_battery_drain/


text:
Can a device be tracked if bluetooth is enabled but visibility disabled?
Is it possible to track a Bluetooth signal of Bluetooth enabled Android phone with disabled visiblity? Here, tracking refers to detecting a nearby device. As an application, if an attacker has many tracking devices all across the city (e.g. public transportation), they could always know when you pass these points.
I have heard of professional tracking devices, which are able to track/locate Bluetooth devices, even if their visibility is turned off.

Sure... If your BT is turned on, it is broadcasting and can be seen as being there. Don't need anything professional to see these devices, my Meraki MR33 access point in my apartment sees them all the time, a quick look shows me over 75 devices seen in the last week. Can't do much with that information generally, but I know they are there. That said, I don't think this is an Android specific question in any way.

What, exactly, do you mean by "tracking"? Find your phone's current location no matter the searcher's location, detect your device when nearby, find where your phone was in the past (location history), or something else?

@Acejavelin are you sure that visibility is disabled on these devices? If it is like you say that all Bluetooth enabled devices are always detectable, what exactly is the "visibility"-feature for? And you are right, it's not an Android specific question. But it's the first thing that came into my mind, as nearly every Android phone has Bluetooth and this visibility option in the settings. Feel free to recommend a better place for my question.

@Outis You are right, I should have been more precise here. With tracking, I mean detect the device when nearby. So if the attacker has many of these tracking devices all across the city (e.g. public transportation) he could always know when you pass these points.

@freshCroissant: note you can edit the info into the original post (so that it's not necessary to read the comments).

Security.SE might be a better site for this question. In particular, users there will likely be more knowledgable about this topic. This question might be able to be migrated there.

By design, it's not supposed to be possible to actively get the address of a Bluetooth device (which is then used to identify the device for tracking purposes) when it's not in discoverable mode, as it won't respond to inquiries. However, if a device is actively communicating with another device, it will be transmitting information that can be used to track it passively. Exactly what information is available depends on which BT features the device is using. Later BT versions include security features that can make address detection, and thus tracking, harder, though these features are generally optional, so newer devices may still be as easy to track as older devices.
In older BT versions, part of the address, the LAP (Lower Address Part; assigned by the manufacturer and unique to the device) is broadcast in cleartext in each packet. Frequency hopping can make it hard to capture packets, but specialized receivers can counter this. Newer BT versions can generate (and periodically change) a random address instead of using the device's; this behavior is called LE Privacy1.
Another part of the address, the UAP (Upper Address Part; part of the manufacturer's ID assigned to the manufacturer), is used for various algorithms, such as error correction and inter-packet timing, and can be calculated2.
A device also sends its full address in cleartext when authenticating with another device. An attacker can try to capture this by disconnecting the devices (using spoofed packets with a specialized payload) and then listening for the reconnect.
Note all of these attacks require that a device is connected to some other device. If a device is undiscoverable and unpaired, it won't be transmitting and can't be made to transmit. Even then, some types of tracking are possible.
An app on your phone can use its greater access to leverage Bluetooth to track your location, not based on info from the phone's own data but on nearby BT devices. Google's Android location services3 gathers info on nearby BT beacons (even if not paired) and sends it to Google. Note that this is a different type of tracking than the other techniques allow.
Reference:

Understanding Bluetooth Security; M. Loveless; 2018-01-09
Discovering the Bluetooth UAP; M. Ossmann; 2014-06-10
Google can still use Bluetooth to track your Android phone when Bluetooth is turned off; D. Yanofsky; 2018-01-24
Hacking Bluetooth; E. Chai, B. Deardorff, C Wu; 2012-12-09


text:
Remove notifications "Activate Anti-malware service" and "Battery fully charged" on rooted Samsung S10
On my Samsung S10e device I often get these notifications:

Device care - Activate Anti-malware service

and

Battery fully charged

When I try to turn one of them off, I am told:

These notifications can't be turned off

Which raises the question: On my rooted device, how can I turn them off?
Solutions that only work for one of these notifications are OK.

This is not an answer, but hopefully providing a background/context to why it cannot be turned off easily: "McAfee [...] is an integral part of the so-called "device maintenance" in Samsung's One UI user interface; formerly Samsung Experience and TouchWiz."

Have you tried Magisk modules? Debloater to debloat that McAfee thing which is I believe under the Device care or debloat Device Care itself? If that's not working out, the hidden settings Magisk module. Yet another option - if you can get to install Gravitybox on your device, see under Advanced tuning (Framework and System UI) Options if you can disable.//

//These may turn out to be not helpful but that's the best I can think of, since I don't own the device

If you want to "flex your root muscle" so to speak, there are options using Xposed modules, but these options do not require it.
Battery full notifications are a bit of a workaround:

Open Settings and select the Notifications option
Click See All under the Recently Sent list
Select All from the dropdown in the top left
Click the 3 dots in the top right and click Show system apps
Select System UI
Click the Battery full item
Edit the options as desired

As for Device care, that is a little less of a workaround:

Open Settings and select the Device care option
Click the 3 dots in the upper right of this screen
Select Advanced
Slide the Notifications switch to off

This option may have been part of the Android 10 update. If you do not have this option:

Open Settings and select the Notifications option
Click See All under the Recently Sent list
Select All from the dropdown in the top left
Click the 3 dots in the top right and click Show system apps
Select Settings
Click the Device care (Important) item
Edit the options as desired
Return to the previous list
Click the Device care item
Edit the options as desired

Keep in mind that this will disable all Device care notifications. If you went with the second method, you may want to try disabling one at a time to remove the notification you want without necessarily removing all of them.

Thanks! Battery full was in Silent so I switched it to Silent and minimized. When clicking the 3 dots in Settings>Device care I only see: Auto optimization, AUto restart, App issue history, SHow icon on Apps screen, About Device care... I don't see Advanced.

I can confirm that the battery icon does not appear anymore when reaching 100% :-)

@NicolasRaoul I've updated the answer with the alternative solution, which uses the same method as the one that worked for battery. Don't forget to accept if this answers your question.

Thanks! I switched both Device Care items to Silent and minimized, and will wait for 4 days to see if it reappears (it does not appear very often in the first place). I won't forget to give you the bounty if it works ^_^

As an update to this information, I found that General notifications / General Messages handles the low battery and charging notifications. I recommend only making these silent, as minimizing them will disable any sort of warning before the device dies.

Apparently I can't post comments yet, so here's my thoughts in an answer.
Try searching for the package name of the app that's showing the notifications. A quick Google search finds this app which seems to do what you're looking for.
Hope I helped.

Rebuilding a system app without activities is a terrible idea. Not to be so blunt, but the core firmware is not built in a one function per activity fashion.

Yeah I wouldn't do that with a system app. But if it wasn't a system app (I thought OP used a custom battery monitor app), it might be possible.

A regular app should not have activities removed to disable notifications, since you would have an option in the app or the standard notifications options for that. That explanation doesn't really make it any better of an idea.

Huh ok. I thought a standard app could set it's notifications to be unswipable as well, just like a system app can. Anyway, thanks for the insight.

An app can set persistent or recurring notifications, but the system notification settings override that.


text:
Do Android One tablets exist?
I am looking for the zero bloat, 100% pure Android One experience.
So far, I have only been able to find phones with Android One, like the Xiaomi Mi A2.
Do Android One tablets exist? Or if not, are there resellers of rooted hardware with reflashed ROM with stock Android?

Android One devices aren't bloat-free. Vendors are bound to ship their devices with Google apps, the most organized and beutified form of bloatware. Android One is targeted to streamline OTA updates for LTS, not to keep devices bloat-free.

Have you considered finding a model that is supported by LineageOS?

The Wikipedia page on Android One has a complete list of all Android One devices released, and unfortunately there doesn't seem to be any tablets.
There couldn't be any tablet resellers with Android One (the source code is not available, and it is impossible to port from phones to tablets) and there's none I'm aware of selling stock Android either.
If you don't mind the warranty and willing to do some tweaking (it's almost always worth it) you can flash a stock AOSP ROM yourself, as there's no risk for most devices (some are risky) XDA Forum for your device should have ROMs, flashing guides and guides on how to recover your device if something goes wrong. It could be good to check there if these are present there before buying a device.
Good luck!


text:
Battery icon has a question mark in it
I checked a lot of forums, like a lot, but no one had my exact problem. I have an ASUS Tablet with Android 4.2.2 and the battery icon in the notification bar has a question mark in it. At least when it turns on cause ocasionally it crashes on boot and reboots itself before even reaching the lockscreen.
Anyways, when I'm lucky and it turns on, it eventually crashes and reboots after a few minutes. If it is on and I try to get to the battery settings, it crashes and reboots.
I didn't manage to get to the battery to check the contact, like most forums say, but I don't think it's the case as it's getting juice from it to turn on...
I tried reseting it by the way.

Does the tablet work while it is connected to a charger? As your tablet is older most likely the battery (and/or the battery controller) is defect -> hardware defect.

@Robert No..not really. When it's connected to a charger it just displays a battery with a question mark in it instead of the charging icon, but it does sometimes turn on without a charger. Very strange...

Ok, then your battery is definitely dead. You have to replace the battery (e.g. in a repair shop) or buy a new tablet.

@Robert I understand...but why does it turn on when it's not connected to a charger?

Looks like the OS fails to get the battery info from its sensor, thus returning a question mark. Perhaps the battery is not totally dead yet, but it's already broken until the OS can't even recognize its value.

There can be three reasons for this:

Your battery is dead or the Battery Status Indicator (BSI) pin on your battery is faulty. In either case, you have to replace the battery.
The BSI pin head on your phone hardware is faulty.
The firmware on your phone has a bug, and is unable to properly read the battery charge.

The third one is very less likely. The second option is less likely, but in my case (a Samsung Galaxy On7), both 1 and 2 had occurred at the same time.


text:
Is it possible to disable HAXM feature for an AVD based on Intel x86 CPU?
In Android Studio V3.5, I created some AVDs which are based on Intel x86 CPU.
But I failed to start any of them because any HAXM devices couldn't be found.
I have enabled VT-x in my BIOS setting. When I tried to install 'Intel Hardware Accelerated Execution Manager V7.0.5', it reported "failed to configure driver unknown error. failed to open driver.".
My PC is Windows 7 64-bit. I couldn't find any solutions.
So, is it possible to disable HAXM feature for an AVD based on Intel x86 CPU?

The Android emulator.exe has a lot of command-line options.
The one you need is -accel:
-accel <mode>

Valid values for mode are:
  auto - Determine automatically if acceleration is supported and use it when possible (default).
  off  - Disables acceleration entirely, which is primarily useful for debugging.
  on   - Force acceleration. If KVM or HAXM isn't installed or usable, the emulator won't > start and prints an error message.

Therefore you should use -accel off
For more details: https://developer.android.com/studio/run/emulator-acceleration.html

Thank you sir.
But in general, we start an AVD in the AVD Manager other than command line.
In fact, I tried to find some option for this in myAVD.ini. But I failed to find any.


text:
Stop calendar from asking me if I want to turn on notifications
Every time I put a new event in my calendar that came with the phone it asks if I want to turn on notifications in order to get reminders for the event.  How do I shut this off?  I have already turned off notifications for the app.  I never want a reminder.  Also, is there any way to switch the color order around for color coding events so it automatically selects purple instead of ugly teal as the default?

I found the answer and am posting it here for anyone that's having the same issue. Open the calendar app, go to three dots at the top, select settings, go to set default reminders, set both to none. That should stop the anniying pop up.  I am still looking for a way to rearrange color order.  Apparently they will let you do it with stickers but not with colors.


text:
How does Windows interact with Android Internal Storage?
I have a simple question which I can't find the answer for
We all know that Microsoft Windows doesn't support partition formats such as ext4 or f2fs, however even this being the case, how can it interact with Android internal storage seeing as it is formatted in ext4? (for example)

You should edit your question with how step by step, what apps or utility programs, you believe that Windows is interacting with Android (along with what device & OS version).

On newer Android devices Windows doesn't interact directly with partitions. It uses Media Transfer Protocol (MTP) which works somewhat like a client-server protocol. All transactions occur in a request-response manner. On older devices there was USB Mass Storage (UMS) which used to expose Android partition to PC, just like a USB stick connected to PC. But that partition was formatted as FAT, not ext4 or f2fs. Related: https://android.stackexchange.com/a/205494/218526

Windows doesn't actually mount the partition, a common filesystem can be only mounted once at a time. Android actually uses MTP (media transfer protocol) to allow copying files over USB.


text:
How to delete erroneous email address from Android autofill?
The autofill in my phone is showing some outdated addresses in the suggestions when I have to enter my email address in certain apps.
Is there any way to delete these suggestions?
One such place where these email suggestions can be seen is in Chrome's settings, where you create a new address for form autofill. Go to Settings, Addresses and more, Add, scroll to the bottom and click on the email field, and your email addresses should be shown.

Try tapping and holding the suggestionm, that works in some apps.

It was worth a shot, but no, that didn't do it.

Is it suggestion of the keyboard or the app itself? If it's keyboard's, the addresses might be from your contacts

The suggestions are coming from Android's OS-wide form autofill.

What Android version and phone do you have?

I'm on Android 10.

This was happening to me, and I resolved it by removing the data from Google Contacts.


text:
Android SSH with AWS and JuiceSSH
I am trying to use JuiceSSH to connect to my Amazon instance with Ubuntu and I am unable to skip the request for password, documentation says I should be using -i in the ssh command but I don't see that option in JuiceSSH
Added screenshot

You are searching for the ssh authentication using private key. That seems to be supported by JuiceSSH. Do you have the required private key on your Android device?

@Robert Thanks for the comment, yes I have the file and also it is used and accepted but despite this it keeps asking me for password

This was primarily my own mistake and I am leaving it here only for future visitors who may face the same issue.
I was using a wrong pem file and since the issue was not highlighted as "wrong pem" but as it needed password I was confused.


text:
Google Play Subscription
I have bought a subscription on some google play app but when I was paying for it I have entered wrong email address that I am using on google play.
Now I cant see my subscription on "my subscriptions" list.
Is there a way to cancel it now?

These are the steps to Cancel or change a subscription on Google Play

Cancel a subscription
Uninstalling the app will not cancel your subscription.

On your Android phone or tablet, open the Google Play Store Google Play.
  2.Check if you’re signed in to the correct Google Account.
Tap Menu Menuand then Subscriptions.
Select the subscription you want to cancel.
Tap Cancel subscription.
Follow the instructions.

If you have a subscription with an app and the app gets removed from Google Play, your future subscription will be canceled. Your past subscriptions will not be refunded.
What happens after you cancel
When you cancel a subscription you’ll still be able to use your subscription for the time you’ve already paid.
For example, if you buy a one-year subscription on Jan. 1 for $10 and decide to cancel your subscription on July 1:
You’ll have access to the subscription until Dec. 31.
  You won’t be charged another yearly subscription of $10 the following Jan.


text:
How can I remotely manage files on a usb drive attached to an Android TV
I would like to

send files to a usb hard drive attached to my Android TV
from my (Windows) PC

How can I do that?

Both the Android TV and my PC are connected to the same Wifi Network

Install teamViewer app on your TV and PC.
Then you can connect using it from your PC as remote.
But teamviewer consumes data for this. So, if you have an unlimited data plan try this.


text:
How to copy folder and website shortcuts from device to device (on many devices)
I work for a company that purchases 100+ customized tablets, that are then given to a client when he buys a product. Instead of a brochure, the client walks away with this customized (cheap) tablet, preloaded with some material.
What I have to do is to install PDF reader and EZ File Explorer.
EX File Explorer allows me to put folder shortcut to the home screen, and Chrome allows me to add website shortcuts to the home screen.
Doing this on all 150 tablets (once in 3 months) takes forever!
Would anybody know any solution how to copy and paste the shortcuts from one to the other?
So far I have not come up with any solution. The Chrome shortcuts cannot be copied (as far as I know) and I did not find a way to put on the screen shortcuts that could be copied. Similar with the folders.
Any help would save HOURS!!!
Thanks

Google summarizes the different provisioning methods: https://developers.google.com/android/management/provision-device#provisioning_methods

A possible way to export the shortcuts is to first install another launcher for example Nova Launcher, then create the shortcuts. Open Nova Launcher settings, go to "Backup & import settings" click on "Backup". Save your configuration to an SD card.
Install Nova Launcher on another tablet, open its settings -> "Backup & import settings", click on "Restore or manage backups", select the backup from the SD card. The shortcuts will be recreated.

Thanks Reddy, would this backup both, the website shortcuts as well as the folder shortcuts?

@MartinP As long as you are creating, importing and restoring them using the same launcher, yes. You can test it with your phone or tablet. Create shortcuts and folders, back them up, delete them and try to restore them.

I use Nova launcher and have just tried a backup and restore between a Pixel 5 and new Pixel 7. All my web shortcuts are transferred across, but greyed out and not working.


text:
Restore WhatsApp Data from Internal Storage on Moving to a New Phone
I have WhatsApp installed on my old Phone.
WhatsApp is backup both to Google Drive and to the local storage.
The Google Drive backup is for text chat and images only (The default).
The local backup includes everything (Audio, Video, Documents, etc...).
I want to move all my WhatsApp data to my new phone.
Usually it will be done as following:

Copy all files of the WhatsApp folder from the old phone to the new phone.
Install WhatsApp on the new phone.
Start WhatsApp on the new phone and when asked for restoring data click restore.

The Problem
The restoration process of WhatsApp will restore information from Google Drive and not from the local storage.
How can one force WhatsApp to restore all data from the local storage?

Local backup includes everything? Do you mean the entire Whatsapp folder or the msgstore.crypt file? I thought the latter only backed up text chats while the rest are just present in the other folders.

Yea. They are present in the other folders. But I assume the msgstore.crypt in the local folder includes links to those (On the chats) while the online doesn't.

Assuming you have your local files all, databases and images.
First deactivate google drive.

Open google drive.
Top left menu, backups, deactivate Google Drive WhatsApp backup

(option to delete also, not necessary)
Copy all files over to WhatsApp folder on phone

Re-do the login procedure as usual.

In theory that's it.


text:
Using a phone to give internet access to an already established network
I am currently planning a project I wish to undertake in the next few months, a power bank / portable file server / wifi router. I want to be able to give internet access to devices connected to the wifi network using my phone (rooted).
Client -> wifi router project -> my phone -> Internet via mobile data
My phone would also be a client on the network. I would be using a raspberry pi zerow inside the project.
Wondering if this is at all possible, and if it is, how would I go about doing it?

This should be fairly easy but I don't see how it is Android related... This would all be on the RPi, I would recommend a simple Linux installation and just USB tether or add a second WiFi adapter to the RPi to tether to the phone via WiFi. Nothing would need to be done special on the phone.

Just not sure about how I'd share Internet access from my phone, as I would be using mobile hot-spot, phone would be connected to rpi wifi

Like I said... You would either USB tether it or use a second WiFi connection on the RPi (via a USB dongle probably). You can't easily use the built in WiFi module of a RPi by itself to link to the outside world AND provide WiFi simultaneously.


text:
How to check where do my updates come from?
Just switched the motherboard of my Galaxy Note 4, now I am wondering where do the phone gets its updates from? How to check this in Android? Thanks!

There is no official way how to extract the Over The Air (OTA) update url.
However the integrated update client usually prints the used URLs on logcat if you trigger a search for update manually in the settings app.
Therefore you need to do:

Enable Developer mode (if not already done)
Enable the Android Debug bridge (ADB) in the development settings menu
Connect your phone via USB to your PC (the PC need a working ADB drivers and runtime)
Execute adb logcat
Open the "search for update" on your phone and trigger it (usually it is in the settings app section system)
Check the logcat for urls (you can filter logcat for HTTPS URL e.g. on Windows you can use adb logcat | find "https://")

Depending on the number of active apps you will see a number of messages with URLs in it. Then you will be able to identify the server your phone connects with for the update check. I assume if an update is available the download of the update will also be visible in logcat.
Note that those server are usually not designed to be browsed by a web server, they are only providing update to the devices.

Thank you! Cannot believe it is so complicated. It is such a critical security/privacy issue.

@Martin: Why is it a security issue that end users can not view the update URLs? On Android you can't change anything on the update system therefore as an end user it is only of interest that it works and that your manufacturer provides updates. The updates are signed anyway therefore how they are transferred is of no interest.

Right, but for instance I just bought a mother board from AliExpress. And I have no idea where my updates come from. Sounds a little scary to me. But thanks a lot anyway!


text:
How can I remove all animations on Samsung One UI (Android 9)?
How can I remove all animations on Samsung One UI (Android 9)?
I've only found:

which does reduce the animations but does not remove them.

I found the setting to remove the animations on:
Settings -> Accessibility -> Visibility enhancements -> Remove animations:

I have no idea why this is in a different place, and why animations are turned on by default (this is a waste of time).


text:
One Plus One broken screen recover data (google auth codes)
I unfortunately broke my screen for the second time on my One Plus One. And it seems that my first repair somehow was not totally good, since when I booted it up with the replacement screen, the bottom of the screen was not working.
That makes me unable to unlock my pattern and access my precious data on my phone (the most important being a Google Auth code, and I can't find the recovery codes for that one).
The phone is running Cyanogen, so I tried to access it with adb :
 - I booted the One Plus One in recovery mode by holding the Volume - and Power buttons.
 - then I selected Reboot to bootloader
 - Finally i connected it to my laptop (running Archlinux) and typed fastboot boot twrp.img and got the result Device not unlocked cannot boot
I was mostly following this answer.
So, my question is, am I really out of luck and my data irremediably lost since the phone is locked ? Or is there workarounds with adb ? I only need to recover the data, not really to restore the phone.
For clarity, the phone still works, except for that lower part of the screen.
It seems there is some things I could do but I'm not really sure how :
 - Simulating a mouse with my computer to unlock the pattern grid
 - Extract the disk (but I'm not really sure what the connector type is...)
Thanks in advance if you have any leads.

Have you tried to resize the display with ADB?

Your phone has OTG support. Why don't you buy an OTG cable and use it with a mouse to unlock the device and do what you can with a touch. Also, you can resize the screen and change density if you still want to continue using the phone. In that case, follow my answer. But I suggest using OTG first and be done with the data you need.

@VannTen In the title you mention the Google Authenticator. Recovery/backup of the authentication codes is by design not intended. Therefore you should always collect the authenticator backup codes and e.g. print them.

@Robert I did print them, and I have moste of them, but there is one account of which I can not find the codes. (Not to mention some sites provides the 2FA setup but no recovery codes).

@Firelord
I'm gonna see if I can find that indeed...

Is the bootloader unlocked? Did you tick to enable OEM unlocking within developer settings? Your lock screen does not prevent you from doing stuff through the bootloader.

It is not, that's why I cannot boot a custom recovery. If I understand correctly, I could unlock it with fastboot oem unlock, but that would erase my data.


text:
How can I disable the screen timeout on Samsung One UI (Android 9)?
How can I disable the screen timeout on Samsung One UI (Android 9)?
I've only found:

which only allows to increase the screen timeout, with a maximum of 10 minutes.

I don't want to copy answers of other users, so I just link to the question instead: https://stackoverflow.com/questions/8840954/how-do-i-keep-my-screen-unlocked-during-usb-debugging.
As you can see, there is a developer option to make the screen stay awake as long as the device is charging. I hope this helps.

@GiantTree thanks!


text:
How to enable edge-to-edge display for any app in Android Pie?
I recently upgraded my OnePlus 6 from Android Oreo to Pie (OxygenOS 9.0.8; rooted).  This release came up with a restriction that only the apps listed under Settings → Display → Apps to display in fullscreen can use edge-to-edge display (full immersive mode including notch area). As of now, YouTube app (using YouTube Vanced v14.21.54) is not shown in that list, and when I enable immersive mode that app doesn't make use of the notch area at all.
Here's how immersive mode looks like with and without notch area:
(Images edited. Courtesy of OnePlus)

One thing I noticed is that, for the apps in the list if they are set to be launched in fullscreen (including notch area) the appops operation APP_SCREEN_COMPAT is set to deny, while in default state, it is set to ignore. Manually changing it via adb to allow further reduces the immersive mode screen estate.
I tried adding that operation (op) manually for YouTube app but it didn't make any change, including when I force-stopped the app and even restarted the device. The op is reflected in appops query though.
I used this command:
adb shell appops set com.google.android.youtube APP_SCREEN_COMPAT deny

I also tried changing policy_control global settings property to immersive.full=com.google.android.youtube but it didn't make any difference either.
I came across some forums where users shared similar problem with their choice of apps with no solution in sight. I also looked for some related Magisk and EdXposed solution but found none. GravityBox [P] doesn't have any feature either.
So, how do I make sure any of my app can use edge-to-edge display in immersive mode?


text:
How can I disable the downloaded neural net for speech-to-text?
My voice-to-text was working amazing on my Pixel 3, until I elected to accept the optional downloaded neural net that makes for "faster recognition" and works offline. The result has been an astounding drop in accuracy to the point that it's unusable, and I'd like to turn the feature off and go back to normal recognition.
How can I do this?

I finally found it, right after I put up the bounty, go figure.
Just searching "Voice typing" in settings and turn off Faster voice typing.


text:
hospot problem on andriod 6 on sony experia z3
I am using android 6 when I open the hotspot setting they give the error " Tattering Hotspot Creating failed". When I use pda net for creating hotspot it will easily created. What the problem behind them?

Use [tag:logcat] to find out the problem.

@Firelord explain your answer


text:
Retrieve stored logger data (Android Oreo or Pie, maybe even higher)
I found an option to store logs: Settings -> System -> Advanced -> Developer options -> Store logger data persistently on device.
I wonder where these logs are saved and how we retrieve them. I searched online but found no result.

logd is the logging daemon on Android which mainly covers the functionality of its desktop counterpart syslogd, but also includes klogd and partially auditd to get logs from SELinux subsystem of kernel. However logd just reads from different memory buffers (in RAM) and doesn't save to persistent memory (files) by default. We can use commandline tools logcat and log to read/write from/to logd respectively. Read here more about memory buffers - main, system, radio, events, and crash.
If one needs persistent logs as files, a separate sub-service (available on userdebug and eng builds only since Oreo (1)) named logcatd (logcat daemon  which itself reads from logd) can save them to filesystem in /data/misc/logd/ (not accessible without root). Behavior of the service on boot is controlled by properties logd.logpersistd.enable and persist.logd.logpersistd (2). Or to manually start/stop the service shell scripts /system/bin/logpersist.[start|stop] can be used.
The option “Store logger data persistently on device” in “Developer Options” also controls the same service using property persist.logd.logpersistd.buffer. From official documentation:

Store logger data persistently on device: Select the type of log messages you want to store persistently on the device. Options are off, all, all but radio, or kernel only.


text:
Sony Experia won't let me enter my voicemail PIN
I call my voice mail and it asks me for my PIN. After entering 3 out of the 4 digits, the screen starts blinking not allowing me to enter the fourth, then telling me I entered an incorrect PIN.
So the phone makes it impossible for me to retrieve my voicemail.

I assume you mean PIN (numbers only) not password (alpha-numeric). Are you sure you have to enter the PIN via keyboard/dialing tones? Usually nowadays you can also speak to such systems just saying the PIN numbers.

You are correct, vm pin


text:
Why phones with Android One don't get update to Q right now (2019)?
Android one phones are near stock version of Android.
Starting Android 8 (or 9) project treble aims to deliver new version of Android without work from the OEM.
Yet phones with Android one and treble don't get update right away, see for example the Nokia roadmap to Android Q:

For example, Nokia 2.2, Nokia 3.2 and Nokia 4.2 all have Android one and start with Android 9 (so they are treble ready) and have to wait until Q1 2020. Why can't they get the GSI directly from Google servers to get update as fast as it's released by Google?

Nokia is in the best position to answer your query. Did you try asking them?

Marketing decisions are at the discretion of the business. Maximize profits by fewest interactions to keep devices current, probably. Anyways, marketing decisions, especially the "why" of things are outside the scope of this stackexchhange.

"aims to deliver new version of Android without work from the OEM" - not that simple, as OEMs still have to update their vendor blobs, proprietary apps, etc.

@wbogacz I mean why can't user get the GSI by themselves if phone is treble compliant.

@AndyYan Not since treble according to news and documentation about the subject, if I understand correctly.

Even assuming there are already read-to-install Android 10 versions for all the Nokia Android One devices - are you sure you want to install an untested update? Before releasing you have to intensive test each update on each device using many different mobile networks and set-ups.

@Hugoy That's a very idealized situation - although OEMs technically can just leave vendor untouched (and often GSIs do work, yeah), from time to time upstream hardware-related code will still be updated, be it to improve performance or to patch holes. As for why users can't just use GSIs - not all Android One devices are bootloader-unlockable, as you can see. Android One can also include some OEM stuff (Moto's Moto Actions, Nokia's camera, etc.) which these OEMs don't want you to miss.

In the end, the direct answer to your original question would be - Nokia locks their bootloaders and refuses to let you unlock, so you can't take advantage of GSIs.

The updates are still required to be done by the OEM. And if you try flashing a GSI yourself, it will either not boot or be ridden with issues.
The underlying vendor partition also needs an update along with new and updated drivers and HALs from the component vendors to make the hardware work properly with the new OS version.
Hence, it takes time to merge, develop, test and then make the final market release. I wish updates were as easy as picking the Google system image and sending it to the phones. GSIs normally work ok if you're installing the version for which the installed vendor partition was built. But in my case they weren't fully smooth. For example, my Nokia 7 has a badly performing modem when on a GSI. And the Android 10 GSI just kept on bootlooping.

“The goal of HIDL is that the framework can be replaced without having to rebuild HALs. HALs will be built by vendors or SOC makers and put in a /vendor partition on the device, enabling the framework, in its own partition, to be replaced with an OTA without recompiling the HALs.”

But you need a compatible /vendor too to boot a major release. Isn't it?

In Android one programme updates are provided by google itself and they give the pixel phone the higher priority as if all the phone will start having android 10 pixel will start losing edge.
Android one updates are not necessarily the fastest. Even Huawei is providing P30pro with android 10 in coming December

Yet that is not what project Treble and GSI promise.

No. Google doesn't provide the updates. The updates are developed by the OEM, but generally delivered via Google's infra.


text:
For incoming call, the Phone app does not launch to cover entire screen
In case of an incoming call, the Phone app does not launch to cover the entire screen.  Instead, two buttons are displayed at the top portion of the screen, Reject (red) and Answer (green), as shown below:

How can I get back the usual behavior for the Phone app where it covers the entire screen on an incoming call, such that a single button is displayed which can be swiped to answer or reject the call?
I am running Android 9.0 on a General Mobile GM 8 device.

I'm not sure if this is because of Android 9.0 Pie, but based on my experience with Nexus 5 on Android 7.1 Nougat, the Google Phone app will show full-screen activity if it's on idle, but show actionable heads-up notification on certain situations.

Also grant Display over other apps permission.

@AndrewT. You're right, I checked, and if the screen is dark, the full UI pops up.  If you post your comment as an answer, I'll accept.  Thank you so much.


text:
Call history not showing when expanding the contact details
I am using Nexus 6P with Android 8.1 Oreo. I am not able to see the call history under the contact details. It used to display the most recent call history when opening the individual contacts. Below is the screenshot that I used to see the contact's recent call history (highlighted with a green rectangle).

Assuming that I am not having a few permissions on the Contacts app but not sure what kind of permissions I should be granting.
So far, I have tried clearing the cache of the Phone app & Contacts app. Also ensuring that the Contact App & Phone App has storage access.

Seems to work for me, and I have Call Logs, and Storage granted permission along with the natural Contacts and Phone.

Grant android.permission.READ_CALL_LOG to Contacts app.

@IrfanLatif, My phone is not rooted. So, wondering is there any UI/steps to grant this permission!

@wbogacz thanks for your reply. So, any idea what must be causing in my case! thanks in advance

@IrfanLatif, I have Contacts, Phone & Storage as an option(s) under the App permission section. Wondering how do I get the READ_CALL_LOG permission into this list.

@IrfanLatif it's an Andriod's stock App and as I mentioned, I don't have this entire list of permissions. I just have Contacts, Phone & Storage

Let us continue this discussion in chat.

I have a similar stock Android device with the Google Phone and Contacts app. And the call history under the contact has been missing since a long time now.
The only way to access the call history (for me) is to single tap on the contact name from the dialer/phone app and choosing history.

I know that's not your answer, but it is obvious that Google Contacts app does not have that implemented. You can probably choose a different Contacts app which has call log implemented under the contact details.
If it was working for you until recently, then uninstalling the updates for the app can help. You can do it in Settings > Apps. Probably an old version supported it and then Google decided to kill the nice functionality (as it always does).

Hmm, thanks for reply. Unfortunately, I don't even see the History as an option.I have Call, Tet, Set up & Pay as an options.

@SharK As I said, it is in the Google Phone (dialer app). It is not implemented in the contacts app.


text:
How to merge /data and /sdcard on Android 4.4?
Is it possible to use two partitions as one storage on a MediaTek device?
AFAIK, it is already implemented in Samsung Galaxy S III, may be.

Which device are you talking about? Have you checked if there is a custom ROM that already does what you want (or at least has a installation manual that covers this step)? Doing this manually is not that simple...

@Robert I am talking about an Mediatek phone based on android 4.4 and want to do it manually

Not very large number of physical primary only devices were shipped with separate /sdcard partition (with attribute removable="false") in transition phase from UMS to MTP. Most of those were shipped with ICS or JB, a few got updated to KK. Then mostly vendors moved to the dominant concept of emulation on /data/media/0. See Android's Storage Journey for more details.
You can take risk to paly with partition table in order to merge both partitions: /data and /sdcard (depends on the layout of partitions). But how would you get a compatible ROM? In fact you'll have to develop a custom ROM from scratch, which needs modification to both; AOSP and kernel code. Particularly vold configurations need special upgradation as it would be looking for partition to be mounted at /sdcard with (permission-less) FAT filesystem, which is now merged to /data with ext4 filesystem. Storage configuration in framework, fstab and init.*.rc files would also needed to be changed.
So the struggle required isn't worth it. And I doubt even if you would be able to get complete source code for such an old device.


text:
After the playstore update I'm no longer able to use my Play Store credit from my Google Rewards app
I have $6 in my google rewards app sitting there and there's a button on the app to take me to the app store. When I click on a premium app the option to pay for it with the rewards balance does not appear.
Has anyone else seen this issue? I am using a pixel 3. The balance also shows in my Google Pay app as well. I have been able to do this in the past no problem.

Which "rewards app" are you talking about (please add name and play store link)?

@Robert updated


text:
How to run a script in background from adb shell?
I have a problem with USB tethering on my rooted Nougat phone (LineageOS). After some time phone stops USB tethering. To fix that I run the following script like this:
adb shell
su
nohup sh tether.sh &
exit
exit

tether.sh
#!/system/bin/sh
service list
while true;
do
  if ! pidof -s dnsmasq > /dev/null
  then
    echo -n "Connectivity lost at "
    date -u +%FT%TZ
    echo "Waiting 3 seconds..."
    sleep 3
    echo "Calling ConnectivityManager.setUsbTethering(false)"
    service call connectivity 33 i32 0 2>&1
    sleep 3
    echo "Calling ConnectivityManager.setUsbTethering(true)"
    service call connectivity 33 i32 1 2>&1
    echo "Waiting 3 seconds..."
  fi
  sleep 3
done

Problem: If I use nohup my call to service call connectivity fails with service not found. And I put service list on top of the script which returns Found 0 services:. However the same commands work when ran directly from adb shell; su.
Why service call doesn't work inside this background script? Does it need the same tty to work?

Processes receive signals from other processes or kernel as a warning or as a request to make some change in state. Receiving processes can block, ignore or catch signals, except SIGKILL which does what the name says. A process receives SIGHUP (hangup signal) when its controlling terminal (virtual or pseudo) disconnects or its controlling process (which is usually a shell) terminates. Quoted from adb shell source:

PTYs automatically send SIGHUP to the slave-side process when the master side of the PTY closes

* See Terminals and Shells on Android for details on PTYs
Process can then handle the signal to continue its execution or just gets killed by the kernel.
nohup makes a process run (usually in background) by simply ignoring SIGHUP even if the controlling terminal closes. Additionally if FDs 0, 1 and 2 of the process are attached to the terminal, nohup redirects STDIN from /dev/null and STDOUT/STDERR to nohup.out file.
Android's built-in /system/bin/nohup has some bad implementation like many other applets of toybox. It replaces STDIN with nothing and leaves STDERR attached to the terminal. So all shell commandline tools which are related to system_server behave unexpectedly because of no FD 0.
Solution is to use nohup e.g. from busybox or do:
nohup tether.sh </dev/null &

Or without nohup:
tether.sh </dev/null &>/sdcard/usb.log &

In order to make sure a program ignores SIGHUP, add trap '' 1 to script above the program to be executed. But it's not required with Android's default MirBSD Korn Shell (/system/bin/sh) which doesn't send SIGHUP to all jobs (children processes) in the same session i.e. attached to the same terminal. So nohup or trap isn't essentially required, whether shell exits or gets killed.
Secondly mksh doesn't detach from terminal(s) completely because in addition to STDIN/OUT/ERR, it attaches to /dev/tty directly (ref). So detaching FDs 0/1/2 doesn't suffice. However there's a daemon mode which completely detaches the command from terminal:
/system/bin/sh -T- tether.sh

Also mksh unblocks all signals, though not relevant here.
bash provides better job management; user can configure with huponexit whether or not to always send SIGHUP to all jobs on exit (ref). Bash's built-in disown command can be used to exclude jobs from receiving signals.
To keep script running in foreground, a multiplexer like tmux or screen can be used. That's what I do, particularly with su binaries from rooting solutions which don't detach (due to limited implementation of pseudo-terminals), when a program is running in background. See this issue for details.
RELATED: How to run an executable on boot and keep it running?

-T- is my new toy, didn't know about it. Simple syntax and does what I need. Very elaborate thank you.


text:
Bluetooth icon in status bar on Android pie
Is it possible to display the bluetooth icon in the status (notification) bar on Android 9 pie (Bootleggers rom, to be more specific), when the device is not connected to any other devices through bluetooth?
I like to only enable different sensors/radios of the phone, when I need and use them. At other times, I like to keep them disabled. But sometimes I forget to disable bluetooth on the phone, after using it in the car.
I'm not 100% certain, but I think that the icon only appears when the phone connects to another device through bluetooth. And I'm sure that when bluetooth is enabled and the phone isn't connected to anything - there is no icon.

You can setup an automation app, such as Tasker and MacroDroid, to turn off Bluetooth immediately or after X amount of time once a bluetooth connection is no longer active.

Yes, good idea. But I would have to put some thought into what timeout to set. Because there are sometimes situations when the car is used to get to several different locations during the day and the pauses between drives can be 15 min to 4 hours, let's say. Alternatively I guess I could create a notification which asks if I'd like to turn off bluetooth already.

Trouble is that with my current rom I can't get the notification led to blink, using tasker (asked a question about it too https://android.stackexchange.com/questions/213768/blink-notification-led-with-specific-apps-notification). So this notification can also be as easily missed, as forgetting to turn off bluetooth in the first case. But I guess it would have the same effect as the bluetooth icon in the taskbar.


text:
Enable external users to un-silence my phone
I have my phone on do-not-disturb or silent virtually always. I usually see my phone, and can see I'm being called.
However, sometimes my SO needs to reach me quickly, and I just happen to not see my phone. I want her to somehow be able to force my phone to ring then.
I seem to recall someone talking about being able to do this on their phone: if their SO called them 3 times in rapid succession, the phone would enable sound. I don't remember what phone or app or such this was using.
I want something similar. It doesn't have to be the exact same thing, but I simply want my SO to have a way to quickly, without much effort, be able to reach me even when my phone is on do-not-disturb. (the advantage of the 3-call thing is that you can do it while driving using the on-board hands-free system, no additional effort needed).
Can anyone point me to how to do this?
Some additional info: My SO uses an iPhone, I have a Nokia 6.1 running android 9

You can add the SO to the priority list in do not disturb. Or you can use an app like tasker to change ringer based on their number.

Just for curiosity what is a "SO"?


text:
Enable OTG with a shell command
I'm running Android Pie on a rooted OnePlus 6, and I wanted to know how I can enable OTG with a shell command. I need this in order to automate some tasks.
There is a setting that can toggle OTG, found in settings > system > OTG storage, so I figured something like this would work:
settings put global otg_enabled 1

However I'm unsure what the setting for OTG is actually called; I tried a bunch of possibilities but none seemed to work. Also tried googling it, but found nothing.
Anyone able to help me out here?

Note: the solution is tested on a rooted OnePlus 6 running OxygenOS (Android 8, 9, 10).

The command I use is:
adb shell su -c 'setprop persist.sys.oem.otg_support true'

Some folks on some  forums suggested to toggle the value for the global settings key oneplus_otg_auto_disable, but it never worked out for me. My solution survives reboot and OTG would work even when decryption password is not supplied.
I automate the solution for fail-safe scenario (in case something disable the OTG)  using Tasker app. My task is:
Code → Run Shell:

setprop persist.sys.oem.otg_support true
enable Use Root

I then assign the task to a boot event profile so that the task runs during startup.

I think both - property and settings key - are OEM specific, not part of AOSP.

Yes, I agree. I didn't see such keys in my Nexus 6 running Android 7, back when I had it.

on my rooted OnePlus 10 Pro 5G (NE2213): my problem was that the OTG toggle was greyed out and could not be changed from "off". Attaching a usb flash stick got "recognizing" and nothing more. I used the "setprop" ..true command, and the disk was mounted read/write (both ntfs and ext4 usb disks worked). i then used set property... false, and now i could toggle the otg setting! upon reboot i can now toggle the otg setting.  perhaps "all" i needed was a reboot, but I'll never know. In any case, problem solved for me, thx

This works for me :
turn ON:
echo 1 > /sys/class/power_supply/usb/otg_switch

turn OFF:
echo 0 > /sys/class/power_supply/usb/otg_switch

This doesn't change the toggle button's state on OTG setting page though.

Hi. It would be good if your answer mentions a couple of details, such as: 1) the solution needs root access to work; 2) the solution won't survive a reboot; 3) the Android device and Android version on which this solution was tested.


text:
Connect to Android phone stuck in boot
I would like to access the data from my Android phone stuck in boot. Is it possible to connect using ADB or anything any this stage?
Details:
I have a Huawei Mate 20 Pro purchased April 2019. I believe something is wrong with the charging mechanism. There has been a charging issue for several weeks now - it charged very slowly. When the phone is unplugged, it shows the red logo indicating that the battery is empty. When the phone is plugged in, it goes to the HUAWEI boot screen and gets stuck.
I took it to the Huawei repair center. In order to conduct ANY repair, they must first delete the data to comply with German law. I have not heard of such a law... but anyway... is there any hope in recovering the data before I send it off for repair?

Do you have an alternative charger you can use, which you know to be good on another device?

Basically no, the data cannot be recovered from a bricked phone. If you have TWRP installed, you could take a backup of the data, but that doesn't include photos/videos/documents.

I would say that they don't have to delete the data but they want to do so as otherwise if they mix up devices from different customers or do something other wrong they can get a penalty dues to the GDPR. Therefore this more a statement like "we are too stupid to handle our customers data correctly - therefore we eliminate the risk this is simpler and cheaper for us".

If you have already activated adb you can simply try it out. If not you can't as for enabling adb you need a fully booted device with access to it's GUI.


text:
How to edit root files in /sys (Permission Denied)?
I have been trying to change root files in my phone through an app I am developing. The phone I have is a Moto G6, fully rooted. I'm using terminal emulators to run commands on my phone. I've tried "Terminal Emulator for Android" and "Shell Terminal Emulator" apps to try to make my files modifiable.
The commands I've tried to run are as follows:
su
mount -o rw,remount /system

In Terminal Emulator for Android this appears to work because it offers no error message but in Shell Terminal Emulator I'm hit with the following:
"...whatever.../system not user mountable in fstab"

So I went to check if it worked anyway and tried to modify a file in the root browser. The file:
/sys/devices/virtual/android_usb/android0/power/control

The file currently has the permissions set as "rw-r--r--" and filled with the text "auto" and after trying to save the file with the contents "0" instead I'm provided with this big ugly error message:
Error when saving file
=====Description=====
java.io.FileNotFoundException: "...file name..." and then (permission denied)

What I want to know is why I don't have permission to edit these files, afterall my phone is fully rooted and I have granted root access to the text editor.
Any solution or step in the right direction is greatly appreciated.

FileNotFoundException is a Java Exception which indicated that you are trying to write a file from within an app without superuser permissions. All java file access APIs can't be used if you need root permissions. You can only execute command-line executables via su. Therefore if you want to overwerite a system file save it somewehere where you have access and then copy the file with su and a command-line command to it's destination.

Please note that app development questions are foo-topic here. Use https://stackoverflow.com instead.

@Robert This is not necessarily an app development question, I happen to be applying this knowledge in the development of an app but I asked this question in order to understand the android system better.

@AdamHigginsn it is best if you strictly ask it from an end-user's perspective than, instead of using code related errors. I have reopened it for now.

@Firelord It wasn't an error with code, just access problems while running commands on an android device

in Shell Terminal Emulator app I'm hit with the following:
"...whatever.../system not user mountable in fstab"

toybox mount returns that error when UID isn't 0 i.e. you aren't root.

tried to modify a file in the root browser. The file:
/sys/devices/virtual/android_usb/android0/power/control

/system and /sys are two different filesystems. Mounting one R/W won't allow you R/W access to the other. /system is the mount point of a partition which contains Android OS. It can't be mounted R/W without getting root access and without disabling dm-verity. sysfs is Linux kernel's pseudo filesystem which provides information related to hardware stuff and exposes some interfaces to userspace for kernel configuration and tweaking.
sysfs is mounted R/W by default but not every file in this filesystem can be modified. Only some specific values can be written to specific files. The file you are trying to write is related to power management of USB Gadget driver of kernel which is to let the device be in some kind of slave role (device mode), not in USB host role. Possible values for control file are auto and on as per documentation.

after trying to save the file with the contents "0" instead I'm provided with this big ugly error message

I'm not sure about that Java related error, you can get better help at stackoverflow. However you can get a root shell and do:
~# echo -n on >/sys/devices/virtual/android_usb/android0/power/control

This must work, I've tried that in GUI text editor too. Probably the value 0 you are trying to write isn't a valid value for kernel, except if you are changing something at driver level.
If the purpose is only to edit files for testing which can't be accessed / modified without root, create / edit / delete a file in /data/local. /data doesn't need remounting.


text:
Password reset screens appearing while inactive; was I hacked?
I put down my Samsung Galaxy S7 phone after making a phone call, and then noticed that the settings appeared on screen, and things like "reset password" were being clicked and text was being entered into password fields for my Samsung and Gmail account.
After unsuccessfully trying for a few seconds to get this to stop, I completely switched off the phone. I have since checked my accounts from another device, and nothing (visible to me) seems to have happened there.
I had been warned about an OS update yesterday, but stupidly clicked to install it later. Now I'm wondering whether there's anything in particular I should do when (or before) I switch on my phone again. Does all this sound like the symptoms of the Android vulnerability that has been in the news this month? And if I get the update installed, will this also check whether the vulnerability has been exploited?

The possibility of being hacked can't be rejected but hackers usually aren't interested in showing you what they are doing to your data until the hack isn't complete. Just to point out a secondary thing, sometimes phone screen gets slightly wet during lengthy phone calls due to sweat/oil on skin. As soon as call ends or proximity sensor detects that phone is away from body, wetness on capacitive touch screen simulates some random touches.

@IrfanLatif That is indeed a possibility. I was so spooked to see my phone do things on its own that I may have misjudged what was going on.


text:
Why does my Samsung A8 have such poor contrast after updating to Android 9?
I have a Samsung A8 2018 SM-A530W, which was purchased from a major Canadian carrier. It recently updated itself to Android 9 through a Samsung application.
Since that update, many of my applications are very difficult to read. In the case of Calendar and Clock, the contrast ratio between the text and background makes text illegible. In the case of the settings screen, transparency to the wallpaper does the same. I'm sure this isn't intentional, but I'm wondering what I can do besides reset my phone.

White text on an almost-white background makes the calendar impossible to read.

Gray text over a gray background makes the clock difficult to read.

Black text over a transparent background to the default Galaxy wallpaper makes settings difficult to read.

Check if there is the possibility to activate a dark mode. This should increase the contrast between backgrund and text.

You can change that.

Go to Settings -> Accessibility -> Visibilty enhancements -> then try some functions there and see what is best for you (contrast theme,contrast font etc.)
If you are using any Galaxy Theme, after system update, they are also updated, so this can alse be a problen. You should try to change or just dissable theme you are using(if you are using) for a moment to test it.
If you love Night Mode,it can also solve your problem, but it is not good for using outside.

Visibility Enhancements aren't the right fix here. These are pretty invasive options for people with severe visual impairements. None of them look proper for a regularly sighted person. However changing the Galaxy Theme from the default I was given to one actually named "default" fixed the majority of the issues. Marking this as solved.