text:
How to increase recovery partition size?
I'm totally lost right now.
I want to flash TWRP 3.7 on my Galaxy S7 herolte. However, it won't work because the recovery partition is only 46MB. So I wanted to increase the size - a process I've done many times before, but I can't figure out how to get information on the recovery partition.
# df -h
Filesystem                   Size  Used Avail Use% Mounted on
rootfs                       1.6G  4.4M  1.5G   1% /
tmpfs                        1.7G  444K  1.7G   1% /dev
tmpfs                        1.7G     0  1.7G   0% /mnt
/dev/block/sda14             4.0G  1.3G  2.7G  33% /system
/dev/block/sda3               16M  3.0M   13M  20% /efs
/dev/block/sda15             193M  168K  193M   1% /cache
/dev/block/sda18              25G  1.4G   23G   6% /data
/dev/block/sda13             4.8M  160K  4.6M   4% /persdata/absolute
tmpfs                        1.7G     0  1.7G   0% /storage
/data/media                   25G  1.4G   23G   6% /mnt/runtime/default/emulated
/data/media                   25G  1.4G   23G   6% /storage/emulated
/data/media                   25G  1.4G   23G   6% /mnt/runtime/read/emulated
/data/media                   25G  1.4G   23G   6% /mnt/runtime/write/emulated
/dev/block/vold/public:179_1  60G  719M   59G   2% /mnt/media_rw/0000-0000
/mnt/media_rw/0000-0000       60G  719M   59G   2% /mnt/runtime/default/0000-0000
/mnt/media_rw/0000-0000       60G  719M   59G   2% /storage/0000-0000
/mnt/media_rw/0000-0000       60G  719M   59G   2% /mnt/runtime/read/0000-0000
/mnt/media_rw/0000-0000       60G  719M   59G   2% /mnt/runtime/write/0000-0000

# cat /proc/mounts
rootfs / rootfs rw,seclabel,size=1680604k,nr_inodes=420151 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,size=1816696k,nr_inodes=454174,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
proc /proc proc rw,relatime,gid=3009,hidepid=2 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
/sys/kernel/debug /sys/kernel/debug debugfs rw,seclabel,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt tmpfs rw,seclabel,relatime,size=1816696k,nr_inodes=454174,mode=755,gid=1000 0 0
none /config configfs rw,relatime 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
none /dev/cpuset cgroup rw,relatime,cpuset,noprefix,release_agent=/sbin/cpuset_release_agent 0 0
pstore /sys/fs/pstore pstore rw,seclabel,relatime 0 0
/dev/block/platform/155a0000.ufs/by-name/SYSTEM /system ext4 ro,seclabel,relatime,norecovery,errors=panic 0 0
/dev/block/platform/155a0000.ufs/by-name/EFS /efs ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/155a0000.ufs/by-name/CACHE /cache ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,errors=panic,data=ordered 0 0
/dev/block/platform/155a0000.ufs/by-name/USERDATA /data ext4 rw,seclabel,nosuid,nodev,noatime,discard,journal_checksum,journal_async_commit,noauto_da_alloc,errors=panic,data=ordered 0 0
/dev/block/platform/155a0000.ufs/by-name/PERSDATA /persdata/absolute ext4 rw,seclabel,nosuid,nodev,noatime,journal_checksum,journal_async_commit,noauto_da_alloc 0 0
tmpfs /storage tmpfs rw,seclabel,relatime,size=1816696k,nr_inodes=454174,mode=755,gid=1000 0 0
/data/media /mnt/runtime/default/emulated sdcardfs rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=1015,multiuser,mask=6 0 0
/data/media /storage/emulated sdcardfs rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=1015,multiuser,mask=6 0 0
/data/media /mnt/runtime/read/emulated sdcardfs rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=9997,multiuser,mask=23 0 0
/data/media /mnt/runtime/write/emulated sdcardfs rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=9997,multiuser,mask=7 0 0
/dev/block/vold/public:179_1 /mnt/media_rw/0000-0000 fuseblk rw,dirsync,nosuid,nodev,noexec,noatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096 0 0
/mnt/media_rw/0000-0000 /mnt/runtime/default/0000-0000 sdcardfs rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=1015,mask=6 0 0
/mnt/media_rw/0000-0000 /storage/0000-0000 sdcardfs rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=1015,mask=6 0 0
/mnt/media_rw/0000-0000 /mnt/runtime/read/0000-0000 sdcardfs rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=9997,mask=18 0 0
/mnt/media_rw/0000-0000 /mnt/runtime/write/0000-0000 sdcardfs rw,nosuid,nodev,noexec,noatime,fsuid=1023,fsgid=1023,gid=9997,mask=18 0 0

# cat /proc/partitions
major minor  #blocks  name

   8        0   31232000 sda
   8        1       4096 sda1
   8        2       4096 sda2
   8        3      20480 sda3
   8        4       8192 sda4
   8        5      40960 sda5
   8        6      47104 sda6
   8        7       8192 sda7
   8        8      43008 sda8
   8        9       1024 sda9
   8       10       1024 sda10
   8       11        768 sda11
   8       12        256 sda12
   8       13       9216 sda13
   8       14    4403200 sda14
   8       15     204800 sda15
 259        0      61440 sda16
 259        1       5120 sda17
 259        2   26357760 sda18
   8       16       4096 sdb
   8       32       4096 sdc
   8       48       8192 sdd
   8       49       6144 sdd1
 179        0   62521344 mmcblk0
 179        1   62504960 mmcblk0p1

# ls -ahl /dev/block/platform/155a0000.ufs/by-name/
total 0
drwxr-xr-x 2 root root 420 2023-03-03 11:51 .
drwxr-xr-x 4 root root 540 2023-03-03 11:51 ..
lrwxrwxrwx 1 root root  15 2023-03-03 11:51 BOOT -> /dev/block/sda5
lrwxrwxrwx 1 root root  15 2023-03-03 11:51 BOTA0 -> /dev/block/sda1
lrwxrwxrwx 1 root root  15 2023-03-03 11:51 BOTA1 -> /dev/block/sda2
lrwxrwxrwx 1 root root  16 2023-03-03 11:51 CACHE -> /dev/block/sda15
lrwxrwxrwx 1 root root  15 2023-03-03 11:51 CPEFS -> /dev/block/sdd1
lrwxrwxrwx 1 root root  16 2023-03-03 11:51 CP_DEBUG -> /dev/block/sda17
lrwxrwxrwx 1 root root  16 2023-03-03 11:51 DNT -> /dev/block/sda10
lrwxrwxrwx 1 root root  15 2023-03-03 11:51 EFS -> /dev/block/sda3
lrwxrwxrwx 1 root root  16 2023-03-03 11:51 HIDDEN -> /dev/block/sda16
lrwxrwxrwx 1 root root  15 2023-03-03 11:51 OTA -> /dev/block/sda7
lrwxrwxrwx 1 root root  15 2023-03-03 11:51 PARAM -> /dev/block/sda4
lrwxrwxrwx 1 root root  16 2023-03-03 11:51 PERSDATA -> /dev/block/sda13
lrwxrwxrwx 1 root root  16 2023-03-03 11:51 PERSISTENT -> /dev/block/sda11
lrwxrwxrwx 1 root root  15 2023-03-03 11:51 RADIO -> /dev/block/sda8
lrwxrwxrwx 1 root root  15 2023-03-03 11:51 RECOVERY -> /dev/block/sda6
lrwxrwxrwx 1 root root  16 2023-03-03 11:51 STEADY -> /dev/block/sda12
lrwxrwxrwx 1 root root  16 2023-03-03 11:51 SYSTEM -> /dev/block/sda14
lrwxrwxrwx 1 root root  15 2023-03-03 11:51 TOMBSTONES -> /dev/block/sda9
lrwxrwxrwx 1 root root  16 2023-03-03 11:51 USERDATA -> /dev/block/sda18

# parted /dev/block/mmcblk0 print
Model: SD 00000 (sd/mmc)
Disk /dev/block/mmcblk0: 64.0GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      16.8MB  64.0GB  64.0GB  primary

I was expecting to see sda6 in the output of parted and just be able to change the size of the partition. Any ideas what I'm missing?
For searchability, the original bug that brought me to the idea:

Size of image is larger than target device

Tangential to your question, but discussion on XDA Forum about 3.7.0 being too large, which also suggested Ivan's fixed build which is only 43MB, and also a short-but-complete guide

@AndrewT. Thx, that solved my initial issue


text:
Cannot add user certificates for EAP-TLS on Android 13
I want to connect to a WPA2 Enterprise wifi network.
I have three keys/certs to install: ca.pem, client.crt, client.key.
I have manage to install the ca.pem certificate in my phone and the client.crt.
In my wifi settings, I select my network, then the eap method (TLS) then the ca certificate but I cannot select the user certificate.
How can I select the user certificate in the wifi settings for my network.

What do you mean by "cannot select the user certificate"? Is the user certificate field missing or is the field present but your certificate is missing in the list? How has you installed the client certificate and key?

@Robert I can't select a my client certificats as it is not in the list as there is no list. The "user certificats" part is grey. I can't even change something in it

Same here - After selecting "EAP method" "TLS" and selecting "CA certificate" "Do not validate" I can't change "User certificate" from "Do not provide". So I can't connect to the network in the same way I do on a desktop.

source: Stack Exchange

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

sort: votes


text:
Make android device to be a print server
I want to connect a bluetooh printer to an android device to share it via LAN. Does anyone know that an app can make an Android device a print server, or how can I make an Android device a print server?
I need to do this, because I need to print from places where I don't have bluetooth coverage.

Is Bluetooth the only option for the printer? I don't know of any product with such limitations. If it can be connected to a network (Ethernet or WiFi) that would be a better option.

Yes, bluetooth only. https://docs.sunmi.com/en/general-function-modules/printing-service/

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


text:
How do I prevent uninstall/disabling/force stopping apps in newer Android versions?
Earlier Android versions provided the ability for apps like Applock to prevent users from disabling or force-stopping the app, but I don't believe the current version allows for this (meaning Applock will not function again until you open it). I'm looking for a way to implement this again, or at least to be able to uninstall stock apps and some method for preventing installation of new apps via .apk or the PLAY store.
Any ideas?

Welcome to Android Enthusiasts. The title "prevent uninstalling apps" and the body "be able to uninstall stock apps and preventing installation" doesn't match and make the question unfocused. Could you state what you're really trying to do?

If I understand your question correctly you are trying to make an Android app run all the time and protecting it from being stopped, killed, disabled, uninstalled and so on. Unfortunately Android apps are not designed to run this way. May be a system app could be made resistant against "attacks" by the user. But that would require to develop a custom ROM without root and finally re-lock the bootloader.

@Robert Earlier versions of Applock had a separate system app that had to be unlocked and deleted via a passcode in order to uninstall IIRC. I'm actually fine if it can be fully uninstalled, I'd just like to find a way to keep apps running after they've been force stopped without having to lock your entire Settings. Newer Android seems to have prevented this.

@AndrewT. Two different things, sorry.
First, I'd like to be able to uninstall stock apps.
Second, I'd like to find a way to run apps that don't kill the app entirely when you force stop, such a passcoded Applock or similar. If you "force stop" any applock on Android it will disable until that app is opened again, making those apps completely useless. I'd like it to at least be able to run (if not prevent uninstall) and retain the passcode access. I'm not sure why Android won't allow for apps that require a passcode to uninstall either.

Keeping an app alive can get pretty complicated depending on the used Android versions and the modifications by the phone manufacturer. A lot of phones and manufacturer contain very aggressive battery saving features which kill apps frequently. Read the whole sad story here: https://dontkillmyapp.com

@Robert Is there any way to add an app to a "System" list or similar to prevent it from being force-stopped? Or at least to restart it automatically if it is?


text:
Install recovery ramdisk vs flash current TWRP: the difference?
I want to know the proper way of installing TWRP because recently I spent quite a lot of time bricking/unbricking my phones after flashing the ROMs, so I don't want spend it again. While learning the TWRP features I figured out two different ways of installing the TWRP:

So far I found many useful articles explaining ramdisk way of TWRP installation
also quite a lot of beautiful questions/answers posted here on Android SE
Install TWRP to only one slot or offline boot.img file, not both
Why can't I write to recovery using fastboot on A/B device?
Can't flash custom TWRP recovery image on Motorola Moto G7 Power phone
Having read all that, I have a general understanding that newer A/B devices have no separate recovery partition where TWRP can be installed, so instead recovery is put onto the boot partition in some ramdisk section, this is how I understood the subject. Practically that means that one need to have recovery .zip or .img file in hand, and push that file onto the device to be able to install it on ramdisk.
As opposed, with Flash current TWRP we don't need any files, we just make the currently booted TWRP persistent, and bootable on next and subsequent boots.
The question is: are those two options have equivalent result?
My understanding is that "Flash the current TWRP" is simpler as it does not require any file copy. So why we have them both in TWRP menu?
Am I missing something?

the option should throw an error

early recovery in ramdisk arrangements required the zip installer, because the other option was not available in the TWRP menu. the result is the same, installers are provided for historical reason.


text:
How to troubleshoot Easy Launch not accessing SMS messages on Ulefone?
Adapting to a Ulephone and am using the built-in "Easy Launch" app for organizing the apps.  The icon to launch the text messenger stopped functioning for no apparent reason.
There's no information on this app which I could readily find.  When a button such as this stops working, what are the steps to find the cause and fix it?

For those who are not familiar with "Easy Launch" on Ulefone, is it like the one shown in Oukitel's promotional YouTube video? Also, are there any SMS apps installed, like Messaging? Lastly, are there "default app" options in Android Settings?

I use Google Web Messenger, and will check the default apps in settings.  I've also cleared the cache for this "Easy Launch" with no effect.

By Google Web Messenger, did you mean accessing this page from browser or the Google Messaging app? If that's the case, then probably there's no SMS app installed/enabled, thus the button doesn't work. I can't really say anything about "Easy Launcher" because it looks like a manufacturer-dependent app and as you've mentioned, no manual or guide about it.


text:
Combined touch plus swipe gestures and TalkBack
I would like to know whether on Android devices it is possible to input a combined touch plus swipe gesture.
For instance, I could touch with one or more fingers with the left hand, and simultaneously swipe left to right or right to left with the right hand.
As an application, with TakBack, this could be used, with one finger plus swipe left to right or right to left, to skip forward or backward one word while text is being read, with two fingers plus swipe left to right or right to left, to skip forward or backward one sentence while text is being read, and three fingers plus swipe to toggle pausing while text is being read.
I think, this could be significantly useful in improving usability of TalkBack for blind users.
When will this be available in Android?
Thanks.


text:
Backup versus sync on Android device
I do not normally keep any Google account details on my Android device. Instead, I typically log in to Google Play weekly, update my device, and then delete my Google account details from my device.
When I do log in to Google Play, the Google Services page asks me to accept (or not) an offer to "Use basic device backup". The explanation says:

Easily restore your data or switch devices at any time. Your backup includes apps, app data, call history, contacts, device settings. Your backups are securely encrypted and uploaded to Google ..."

I have always declined the request without much thought but for the first time today I read the latter part of the description which brought to mind the following questions:

Is the information securely encrypted on my phone prior to the encrypted backup being stored by Google, or is Google saying that they will encrypt the backup? If it's the former, and the encryption is done on the device, then how is it possible to transfer the information to another device? Where is the decryption/encryption key that would enable the new device to use the backed-up data?

Is "backup" the same as "sync"? More particularly, if I backup the various apps (calendar, messages, contacts, etc) is the effect the same as syncing my device calendar with a Google calendar?

The following article from androidcentral.com seems to contains some details: How Google's backup encryption works: The good, the bad, and the ugly (2021).


text:
Backing up an Android app to Google Drive
Let's say you've installed an app, but you realize it is no longer available in the Google Play store.
Is there a way to back the app up in Google Drive (so, that, if your phone breaks down and you update your phone to one with a newer version of Android you can still use the app (by downloading it and installing it from Google Drive))?
Thanks.

I don't have an answer but you could always download the APK from the net. Sites like ApkMirror or uptodown


text:
My Android TV seems to be rebooting frequently in sleep mode and causing ADB to be disconnected, why?
This is the log I got from adb logcat when the TV is at sleep mode:
03-05 00:50:40.242  9534  9647 I uicksetsdk.son: Starting a blocking GC Alloc
03-05 00:50:40.242  9534  9647 I uicksetsdk.son: Starting a blocking GC Alloc
03-05 00:50:40.271  9534  9647 I uicksetsdk.son: Alloc concurrent copying GC freed 19943(12MB) AllocSpace objects, 29(3092KB) LOS objects, 49% free, 2295KB/4590KB, paused 110us total 28.982ms
03-05 00:50:40.671  9986  9986 D LIBIWPRIV: Ethernet_WoPacket  ifc_set_Ethernet_listen_port
03-05 00:50:40.671  9986  9986 D MTK PowerHAL: ACFGGGGGGGGGGGGGGGGGGGGGGGGGGGGG : AM_BRDCST_MSG_PRE_POWER_OFF
03-05 00:50:41.178  2902  9975 I BatteryStatsService: In wakeup_callback: suspend aborted
03-05 00:50:41.179  2902  3203 D AlarmManager: Wakeup history#0 Wakeup alarmType=RTC_WAKEUP package=com.mediatek.agent wakeups=1 alarms=1 whenElapsed=0 when=2023-03-04 23:47:47 nowRTC=2023-03-04 23:47:47 workSource=null uid=1000 tag="*walarm*:mtk.intent.rtctimer.set.bgm"
03-05 00:50:41.179  2902  3203 D AlarmManager: Wakeup history#1 Wakeup alarmType=ELAPSED_WAKEUP package=android wakeups=3 alarms=3 whenElapsed=-21s956ms when=-21s956ms nowRTC=2023-03-04 23:48:10 workSource=null uid=1000 tag="*walarm*:DeviceIdleController.deep"
03-05 00:50:41.179  2902  3203 D AlarmManager: Wakeup history#2 Wakeup alarmType=ELAPSED_WAKEUP package=android wakeups=4 alarms=4 whenElapsed=0 when=0 nowRTC=2023-03-05 00:50:32 workSource=null uid=1000 tag="*walarm*:DeviceIdleController.deep"
03-05 00:50:41.179  2902  3203 D AlarmManager: Wakeup alarmType=ELAPSED_WAKEUP package=android wakeups=5 alarms=5 whenElapsed=0 when=0 nowRTC=2023-03-05 00:50:41 workSource=null uid=1000 tag="*walarm*:DeviceIdleController.deep"
03-05 00:50:41.180  2902  2980 W AlarmManager: Unrecognized alarm listener com.android.server.DeviceIdleController$4@2730dbf
03-05 00:50:41.225  9810  9990 W adbd    : timed out while waiting for FUNCTIONFS_BIND, trying again
03-05 00:50:41.225  9810  9990 I adbd    : UsbFfs: connection terminated: monitor thread finished
03-05 00:50:41.225  9810  9810 I adbd    : UsbFfs: already offline
03-05 00:50:41.225  9810  9810 I adbd    : destroying transport UsbFfs
03-05 00:50:41.225  9810  9810 I adbd    : UsbFfsConnection being destroyed
03-05 00:50:41.268  9810  9811 I adbd    : opening control endpoint /dev/usb-ffs/adb/ep0
03-05 00:50:41.268  9810  9811 I adbd    : UsbFfsConnection constructed
03-05 00:50:41.437  9993  9993 D MTK PowerHAL: for GCM case,update port info
03-05 00:50:41.437  9993  9993 D MTK PowerHAL: wopacket Sony behavior(for GCM case,update port info)
03-05 00:50:41.437  9993  9993 D MTK PowerHAL: enable WoPacket before power off
03-05 00:50:41.437  9993  9993 D MTK PowerHAL: XXXXXenter: AP 7668 a_nw_wlan_set_ip_and_port_to_driver
03-05 00:50:41.437  9993  9993 D MTK PowerHAL: XXXXX AP first clear all ethernet port
03-05 00:50:41.437  9993  9993 D LIBIWPRIV: Ethernet_WoPacket  ifc_clear_listen_port
03-05 00:50:41.438  9993  9993 D MTK PowerHAL: XXXXXXXXget valid Ex v4port 40918
03-05 00:50:41.438  9993  9993 D MTK PowerHAL: (WOWL)tcp v6 port2 = set_wow_tcp 0 8008,8009,1900,40918
03-05 00:50:41.438  9993  9993 D MTK PowerHAL: XXXXXethernet tcp port0 is 8008
03-05 00:50:41.438  9993  9993 D MTK PowerHAL: XXXXXethernet tcp port1 is 8009
03-05 00:50:41.438  9993  9993 D MTK PowerHAL: XXXXXethernet tcp port2 is 1900
03-05 00:50:41.438  9993  9993 D MTK PowerHAL: XXXXXethernet tcp port3 is 40918
03-05 00:50:42.273  9810  9991 W adbd    : timed out while waiting for FUNCTIONFS_BIND, trying again
03-05 00:50:42.273  9810  9991 I adbd    : UsbFfs: connection terminated: monitor thread finished
03-05 00:50:42.273  9810  9810 I adbd    : UsbFfs: already offline
03-05 00:50:42.273  9810  9810 I adbd    : destroying transport UsbFfs
03-05 00:50:42.273  9810  9810 I adbd    : UsbFfsConnection being destroyed
03-05 00:50:42.338  9810  9811 I adbd    : opening control endpoint /dev/usb-ffs/adb/ep0
03-05 00:50:42.339  9810  9811 I adbd    : UsbFfsConnection constructed
03-05 00:50:42.976  9993  9993 D LIBIWPRIV: Ethernet_WoPacket  ifc_set_Ethernet_listen_port
03-05 00:50:42.977  9993  9993 D MTK PowerHAL: (WOWL)udp port = set_wow_udp 0 5353
03-05 00:50:42.977  9993  9993 D MTK PowerHAL: XXXXXethernet udp port0 is 5353
03-05 00:50:43.341  9810  9994 W adbd    : timed out while waiting for FUNCTIONFS_BIND, trying again
03-05 00:50:43.341  9810  9994 I adbd    : UsbFfs: connection terminated: monitor thread finished
03-05 00:50:43.342  9810  9810 I adbd    : UsbFfs: already offline
03-05 00:50:43.342  9810  9810 I adbd    : destroying transport UsbFfs
03-05 00:50:43.342  9810  9810 I adbd    : UsbFfsConnection being destroyed
03-05 00:50:43.388  9810  9811 I adbd    : opening control endpoint /dev/usb-ffs/adb/ep0
03-05 00:50:43.389  9810  9811 I adbd    : UsbFfsConnection constructed
03-05 00:50:44.391  9810  9995 W adbd    : timed out while waiting for FUNCTIONFS_BIND, trying again
03-05 00:50:44.391  9810  9995 I adbd    : UsbFfs: connection terminated: monitor thread finished
03-05 00:50:44.391  9810  9810 I adbd    : UsbFfs: already offline
03-05 00:50:44.391  9810  9810 I adbd    : destroying transport UsbFfs
03-05 00:50:44.391  9810  9810 I adbd    : UsbFfsConnection being destroyed
03-05 00:50:44.458  9810  9811 I adbd    : opening control endpoint /dev/usb-ffs/adb/ep0
03-05 00:50:44.458  9810  9811 I adbd    : UsbFfsConnection constructed
03-05 00:50:44.515  9993  9993 D LIBIWPRIV: Ethernet_WoPacket  ifc_set_Ethernet_listen_port
03-05 00:50:44.515  9993  9993 D MTK PowerHAL: ACFGGGGGGGGGGGGGGGGGGGGGGGGGGGGG : AM_BRDCST_MSG_PRE_POWER_OFF

ADB is highly possible to be disconnected after the last line is printed.
Android version: 10
Kernal version: 4.19.75
Because everytime this happens I see different PID for PowerHAL, I guess the TV is actaully being rebooted fequently?
Does anyone know what could possibly be the reason, or how can I troubleshoot this issue?

As the last message contains PRE_POWER_OFF I would assume that this is intended behavior may be for saving power. So from my perspective the question should rather be why does the TV wake-up so frequently...

Figured it out myself.
The TV has three modes for remote power on:

Off
Through network
Through application (ADB)

If you choose the third option, the TV periodically "pre-power on" itself so that the user can send an ADB command to it to actually turn on the screen, which causes my HDMI cable periodically receiving signals of a new device.
(still not sure why the TV can't be always "pre-powered on")
But if you choose the second option, everything is fine.


text:
What's the difference between "Voice input" and "On-device speech recognition"?
I've noticed that on my Android 13 device (a Pixel 5), in the Languages & input settings, there are two speech input related options:

Voice input
On-device speech recognition

both have the option to download languages, in order to be performed offline.
What's the difference between the two? The only context where I use voice/speech recognition is Google Keep Notes.

Just in case it matters, could you [edit] and mention the device model and whether you're using a custom ROM?

@AndrewT. done, thanks for the suggestion!


text:
updating 2FA for a defunct phone number
I moved an account from phone x to phone y and secured the account so that phone x had no access anymore.  Next I enabled 2FA through the phone number on the new phone, phone y and discarded phone x.  That worked fine.
Then I changed my phone number without updating the 2FA.
On phone y I sent an e-mail to myself to confirm that the account was at least working, which it was.  When I tried to login on a new phone to the account I ran into problems with 2FA because of the now-defunct phone number.  Oddly, the option to hit "tap" on a phone was presented as an option.  However, there was no message on phone y about this.  No model was mentioned, so possibly it was an alert for phone x for some reason.
I went into account settings on phone y and believe that added an additional number for 2FA after entering the pattern to confirm that phone y was mine.  I also had a confirmation code sent to a secondary e-mail.  This I thought would be the solution.
Trying to sign-in on phone z to this account brought up an option to sign-in, now specifying phone y by model.  However, there were no alerts on phone y as I would expect to see.  Ultimately, it turned out that I was now signed out of the account on phone x.
I had an e-mail sent with a confirmation code, again, and entered the confirmation code.  Now the account is locked for twenty four hours.
Clearly, I should've confirmed that phone y was logged into the account and connected.
Unfortunately, when logging into the account on phone z the phone number was still listed as the old number.
I'm waiting twenty four hours for an e-mail from Google while they evaluate, but is there something else I could've done here?  Now that I'm logged out of the account on phone y it's seemingly now behind a wall of 2FA with an old phone number.

I'd suggest checking Google Account Security settings, but can you access your Google account in any way?


text:
Ethernet over USB + ADB | Dynamically switch between Host and Peripheral mode in OTG
Problem:
I own an android device in a remote location that I use to run various tests and operations. I need to be able to send ADB commands while also connect the phone to a wired internet connection. For various reasons, I cannot connect the device to WiFi, nor can I root the device. Due to USB Enumeration structure, if I connect a USB hub to the phone with an Ethernet port and a USB connection to a PC, the options are either Phone in Host + Internet but no ADB, or phone in Peripheral mode with ADB but no ethernet connection.
What I have tried:

Setting adb tcpip 5555 to enable ADB over a network connection (TCP mode). This means connecting the phone through USB, setting adb tcpip 5555 to enable ADB over network, and then disconnecting the USB and replacing the connection with the Ethernet dongle in host mode. This works fine until the phone is rebooted and then manual intervention is needed.
Various USB dongle/hub set ups.
LADB workaround where the phone connects to itself through wireless ADB, then sets the adbd to TCP mode, etc. For this, I need a WiFi network so it does not meet the requirements. It's also very flaky.

What I want to do:
I'm wondering if I can purchase a Raspberry Pi or some other microcontroller, and implement a solution using Session Request Protocol (SRP) and/or Host negotiation Protocol (HNP) described in On-The-Go (OTG) as follows:

Connect Android device using USB-C (as OTG cable) to companion device.
Connect companion device to internet through ethernet port
Setup states

Software in Android/external code detects when adbd is in USB mode, and renegotiates the connection to Android being in device mode. Companion uses USB connection to send adb tcpip 5555.
Once adbd is set to TCP mode, software (using getprop) checks that phone accepts ADB over network, and renegotiates the usb connection such that the Android is now Host, and accepts the companion device as an Ethernet dongle, and internet flows to the device.

This way, the network connection to the device (including sending ADB commands) remains stable even after device reset. There are also power considerations, but they are secondary.

I don't think that you can solve this problem in a reliable way. Instead I would try to establish a network connection using adb port forwarding. Install an HTTP proxy on the connected PC, forward the proxy port through adb to the device and then set the forwarded port as global proxy in Android. That way you should be able to establish some sort of reverse tethering without root.

Thanks Robert. What you're saying is try to instead connect the android to the internet via a proxy port while maintaining the USB connection, right?
Can you expand on what steps I should take to try to implement this solution? The only way I know of is using the VPN workaround, which causes a host of other problems.

In short: Install proxy, use adb forward ... and finally configure proxy to localhost:forwarded_port. Never tried it so I am not sure if it will work as expected.


text:
What is this notification icon that looks like the casting/screenshare icon?

It looks like the casting/screenshare icon, but I've checked and screen sharing is turned off?  I've ended all running processes just to be safe, but it still persists.  Nothing else shows when pulling the notification bar down.
EDIT: I have the OnePlus 8T+ 5G (KB2007) Stock, Stock ROM, but unlocked and on Verizon's network (still TMO stock firmware).


text:
Pixel 5 vibrates once when turned face down
My phone has this irritating behaviour. When I turn it face down, after a second or so it does a couple of quick vibrations.
It often confuses me into thinking that I have received a notification just after putting it down, so I pick it up, nope, put it down, it vibrates again...
Is there a way to disable this?

This is a side effect of the "Flip to Shhh" feature.
The setting page states,

To turn on Do Not Disturb, place your phone face down on a flat surface. You'll feel a subtle vibration when Do Not Disturb turns on.

(Emphasis added)
The feature can be accessed from Settings - System - Gestures - Flip to Shhh.

Huh...I had no idea that turned on DND! That probably explains why I have missed some calls in the past. God, what an impossible feature to discover - when you flip it back over it disables DND, so you would have no idea it ever did that.

Its not a new feature - but a lot of the features of modern phones could be considered "hidden" since there is no manual included anymore (they would quickly be outdated anyway)

@SteveBennett Lay on your back and look up at your phone?  Or does it also use the proximity sensor? (I don't seem to have this feature)

@Izkata I have a Pixel 3.  It will "Flip to Shhh" when hovering, face down, about an inch or two above a flat surface.  So I would guess that it uses the front-facing cameras to help.


text:
How to disable Yandex asking to sign in every time I try to bookmark a page?
Every time I try to bookmark a page in Yandex, it first demands I sign in and then I have to click on a link (a second click) in order for it to save the bookmark.

I've lost a fair amount of bookmarked pages that were never bookmarked because I didn't click the second time, unlike other browsers which don't have this second prompt.
I will never create a Yandex account, so I need a way to disable this and bookmark without asking for sign-in first.
How can I disable this popup?

If Yandex is so aggressive in pushing their accounts into the market you may consider switching to a different web browser.

It's otherwise the best browser IMO


text:
How to lowercase a region in gboard?
Let's say you're using voice typing, and you FORGOT THAT YOU LEFT THE CAPS LOCK BUTTON ACTIVATED AND NOW YOU GOT A WHOLE REGION OF WORDS IN CAPITAL LETTERS! IT MIGHT GO ON AND ON FOR VERY LONG WHILE DEPENDING ON HOW LONG IT TOOK BEFORE YOU LOOKED BACK DOWN and noticed what you were typing...
So okay, we select this big block of words, then what do we do to get them back into normal/mixed or lower case? Thanks.
Currently the only thing I know how to do is just delete the region and start all over again.

Unrelated to Android at all, but I usually use https://convertcase.net/ to quickly fix all UPPERCASE/lowercase text.

Gboard has a feature for the past 4-5 years that allows to select a word, then pressing the Shift key to change the word's casing. However, during my testing with multiple words or sentences, I found out that only up to seven words can be selected.


text:
Pixel 4 OEM unlock impossible?
My new Pixel 4 just arrived, and I want to install LineageOS on it. Problem is, the OEM Unlock toggle is disabled (greyed out).
It's not a carrier-locked device or anything like that (purchased from a Dutch retailer).
I've tried a bunch of "fixes", mostly various combinations of factory reset, with and without WiFi or SIM, the adb shell pm uninstall --user 0 com.android.phone command, etc.
Are there any other options, like sideloading a custom recovery (if that's even possible)? Or is there a chance it will become available after 7 days as I've read somewhere?

Based on existing questions, looks like there are Pixel devices (particularly refurbished) that are bootloader locked. I'm afraid this is also one of them.

As original Pixel 4 devices can be bootloader unlocked the phone you bought is not what you could expect by the "Pixel 4 " product description (unless the locked bootloader was explicitly mentioned). Usually this should allow you to send back the phone and get back your money (most country has this in their consumer protection law).

@Robert Yes, here you can return things for any reason within a set period (unless damaged in which case warranty applies). Returned it and got a Galaxy S10e instead, which unlocked no problem.


text:
How should a user certificate be formatted so that it can be used for mTLS on a phone running android 13?
I'm trying to install a user certificate on a pixel 7 running android 13 which will be used to connect to a website which requires mTLS.  The CA and intermediate cert which signed the user cert are already installed on the phone and are visible in the User section under Trusted credentials.  When trying to install the app user certificate (Settings => Security & privacy => Encryption & credentials => Install a certificate => VPN & app user certificate) I'm able to browse to the cert and select it, but it doesn't get installed.  No error message is displayed, the phone simply reverts back to the VPN & app user certificate screen.  I'm trying to install a pkcs12 bundle which contains the certificate and the private key.
Questions:

Is VPN & app user certificate the correct place to install a user certificate that will be used for mTLS?
What key and signature algorithms are supported for user certificates?
Are there specific keyUsage and extendedKeyusage definitions that must be applied to the cert before android 13 will accept it?
Is pkcs12 the correct format for installing a user certificate?
What certpbe and keypbe algorithms are supported for pkcs12 on android 13?
I've had to rename the file to .crt instead of .p12 in order for it to be able to select it from local storage.  Is this the correct extension that should be used for a user certificate on android 13?
Are there any log messages or other means of determining why the phone isn't accepting the pkcs12 file?

If the pkcs#12 file is password protected make sure not the new AES encryption is used as I don't know if Android supports it (the oldest 3DES is supported for sure). For the log you can check adb logcat from a connected PC, not sure if the import process will log messages there. You should also mention the used web browser because some browsers like Firefox use their own certificate store.

Errors from logcat: "CredentialHelper: parseCert(): java.security.cert.CertificateException: com.android.org.conscrypt.OpenSSLX509CertificateFactory$ParsingException: com.android.org.conscrypt.OpenSSLX509CertificateFactory$ParsingException: java.lang.RuntimeException: error:0c0000be:ASN.1 encoding routines:OPENSSL_internal:WRONG_TAG
CertInstaller: Attempting credentials installation, has ca cert? false, has user cert? false".

The pkcs12 that generates that error on android 13 works fine on OSX.  Can import and use it in multiple browsers w/ mTLS.  I may need to answer some of the other questions to understand why android 13 won't accept it.  pkcs12 has been generated with legacy and with current password encryption.  Both fail, hence question #5.


text:
Prevent my phone from leaving "Do not disturb" and "silence"
I have a similar problem to How to stop Do Not Disturb turning on every day at midnight?
I set my "Do not disturb" on to stay on "until you turn off". Nonetheless, at random times, it turns off by itself.
I also have the same issue with silencing my audio. Usually at the same time as the "do not disturb" turns off, "silence" turns off.
Do you know what other settings might be controlling the state of "do not disturb" or the volume?

So, let me see if I understood - you want to keep your phone silenced until you manually turn DnD off, right? If you manually set DnD, will it turn off automatically, let's say, in the morning?

That's correct. And I don't want that to happen


text:
ADB Shell / Magisk : Add folder to /system problem
I have an old phone on which I installed a new custom ROM, but the WiFi does not work because /system/etc/wifi is missing. I just have to move the vendor's folder from system/vendor/etc/wifi with command mv in adb shell. However, Android won't let me use it as it says that /system is "read-only".
So I tried with adb root, I was root but did not work. I then tried with adb shell su -c "chmod -R 755 /system", but it still said that it was a read-only directory. Finally, I rooted my phone with Magisk, but still did not work, I got the message "adb cannot run as root in production builds" when I typed adb root. So I am really at a loss.
Anyone went through this also? Thanks.

adb root never works on normal ROMs, thus you have to remount system partition manually.

Hi, not sure what a normal ROM is, this is not the stock ROM it's a custom ROM. How can I remount system partition ? You mean using TWRP?

Possible duplicate of How to mount /system rewritable or read-only? (RW/RO)

Regarding normal/production ROM vs developer/debug ROM: Why does "adb root" do nothing?

https://forum.xda-developers.com/t/4561993


text:
How to enforce no eye comfort shield for certain apps?
I have a Samsung Galaxy A40 SM-A405FN/DS, set up in German. It has a functionality called "Eye comfort shield" to make colors less blue and warmer.

I like my screen with eye comfort shield on always, as it helps me to not be constantly swallowed in the virtual world and stay more grounded in the real world.
But I recently downloaded a great game (I Love Hue, for the curious) which heavily relies on hue distinctions. The eye comfort shield makes it all the harder.
Is there a way to specify that eye comfort should be off for specific apps ?
For those who don't know:  eye comfort shield removes some of the blue component of the color of every pixel on the screen, so that everything appears warmer. Blue light, which in the real world we get almost only from the sky during the day, acts a stimulus to stay awake (and then we feel naturally tired in the evening). Too much blue light from a phone screen is supposed to keep the user awake and hinder falling asleep.
One possible source.
This feature might be known as Night mode or Dark mode or Night Light in non-Samsung devices.
Images :

EDIT : @Firelord My attempts with Tasker :

When Eye Comfort Shield (ECS) is enabled could you try running this adb command adb shell settings put system blue_light_filter 0 and see if it disables ECS or not.

Yes it works, including while having the app open. I can't wait to see what you're suggesting with that !

Setup Tasker app (trial version here). Within Tasker setup Profile: Application -> select the apps where you want ECS to be turned off; create/assign a task having this action: Setting -> Custom Setting -> Type: System, Name: blue_light_filter, Value: 0. Leave rest of the entries as is. Save the task, enable ECS and now try opening one of the target apps to see if ECS turns off or not.

Excellent ! But no results yet ... see my screenshots in edit.

On that second screenshot, there is Play (rightward arrow) button on the bottom left. Upon pressing that Play button does ECS turns off or does Tasker report some error?

A notification appears : "Can't modify settings : Please click here to install the 'Tasker Settings' app to change the 'blue_light_filter' setting". It also independently started telling me this when opening the app (so somehow I hadn't correctly applied the rule or whatever).

And sadly when I click on the notification, it takes me to the page of the Tasker Settings app on Google Play, where it says : This app isn't available for your device because it was made for an older version of Android."

Re: Tasker Settings app, try downloading from its GitHub repo.

Yup works. It keeps telling me that it might not work properly at all because it's meant for an older Android version but okay. Now the whole setup works : a few seconds after opening my app I get the ECS off. How about part 2 now, turning it back on when I quit this app or switch app ?

Found how to do this. You can add an context like for the other task, except you press the "Invert" button and then context is "Not " and it does what you think it does.

If you post a summary I will mark it as the answer.

@Charles I think you're in a position to provide a working answer with nice screenshots and gotchas that you encountered. Go ahead. :)

That does not take into account my legendary sloth.

Also, the trigger seems to go through every time in reasonable time (and in fact the ECS button shows that its off) BUT the EFFECT of ECS is often still present ! And vice-versa. I think it is either a bug in Android, a delay (my phone can be slow), or we are missing a "refresh" sort of command or something.


text:
Is the Pixel 5 really EOL in october?
Iam using the Pixel 5 with original OS and currently on Android 13.
Reading here: https://endoflife.date/pixel the phone will not receive any further security updates from october on.
But Android 13 will still be supported, so is my phone really outdated and possibly unsecure from then on?

EOL really means software and security updates. Only newer Google phones get up to 5 years security updates.

Yes,
This information is also available on Google's support page.

Your question focuses on the definitions of two things:
Android Version Updates : these are the updates to new numbered versions of Android, such as Android 13 you described, that usually include things like new features and design changes.
Security Updates : these updates are distributed on a monthly basis and are meant to provide critical improvements needed to keep the operating system secure.
You can continue to use your phone without either of these updates, but as you specified, your phone may be considered "less secure" than others with more recent updates. In practice, however, many people use devices for long periods of time after they're out of security update support life. In this case, the responsibility for security is yours, rather than Google's.


text:
There is no Armenian in Logitech K480 physical keyboard language list
I have a Samsung Tab A8 (Android 12). Recently I bought a Bluetooth keyboard Logitech K480 to go with it. For English, the keyboard works as expected, however I noticed that there is no Armenian language when I am typing with Logitech K480 there are no layouts.
Is there a way to add/install Armenian so I could use it with the physical keyboard (without 3rd party apps)? As I see it, it is a software thing since the keyboard sends the same signals only the mapping is different.
If not, is there a way to do such a thing with 3rd party apps?

On Android additional keyboard layouts are provided via Key Character Map files. 3rd party apps can have such files built-in.
You should take a loot at More Physical Keyboard Layouts app that provide some extra layouts. It's free and open source.


text:
"Close all" does not always close all on Samsung's recent apps list
I have noticed something peculiar regarding the "Close all" option, that appear when you press the three vertical lines (recent apps list) in the lower left corner:
Often, all visible apps slide upwards, and everything close as it should.
But sometimes all apps slide sideways off the screen, always to the left, and disappear. However, none of them are closed down, and reappear when pressing the three lines again.
Can anyone recognize this behavior, and explain what happens and why?
This is a Samsung Galaxy A21s, Android version 12, and I have not seen this behavior on any previous phone (all Android).

It is the same on my Lenovo tablet running Android 9.

Never seen it on any of my devices.  It is possible that the phone interpreted the press as a slide and slide back to homepage.

#Rohit Gupta, no I'm pressing the same way all the time. Some times the open apps slide left several times before going upwards (and then finally closing)

This question does really not have much attention, but nevertheless, today I found out (by accident) what the difference is:
When the three lines are pushed (show recent apps), there appear a button saying 'Close all'.
If I hit that button precisely, all apps closes as they should.
But if I am not careful, and hit the top part of the button (which technically is above the button) or the area between the button and the listed apps, then they go left, blanking the screen but without closing any of them.
I still doesn't know why this difference is there, but now I at least know how to make a 'close all' that closes all every time...
EDIT: Aaand, for everybody who have followed this so far, poking the screen besides the showed open apps (and not hitting the 'Close all'-button), I have found out this just cancel the 'Show all' function and return to the main screen - by sliding all open apps to the left...!
Mystery solved!


text:
How to install Cyanogenmod / LineageOS 13 (Android 6.0.1 Marshmallow) with GApps and Signal Messenger onto a Samsung Galaxy Ace 2 GT-I8160?
This question is uncommon and may not apply to a lot of you. But I dropped two phones in a row so I needed to grab my old Samsung Galaxy Ace 2 GT-I8160 backup phone and revive it. I had it already running with a previous version of Cyanogenmod 11 (Android 4 Ice Cream Sandwich) and already saw that I could possibly run it with Anroid 4.4.4 and a custom Kernel from XDA Developers Forum (last updated Jan 30th 2023).
Although that might be sufficient for others, it turned out that the messenger application I'm using is Signal for Android, which has a minimum OS requirement of Android 5.0.
Later I discovered a more recent version of Cyanogenmod / LineageOS 13 (Android 6.0.1 Marshmallow) on XDA Developers Forum, which was referring a packed Version of SergeyL on the 4PDA forum. I downloaded lineage13.0-20180914-UNOFFICIAL-codina_SergeyL.zip from the given link in the 4PDA forum and made sure it fits the given md5sum dd59385470e5b41be75fcec0377fb910.
To download Signal from the Google Play Store I opted for Open GApps ARM 32bit for Android 6.0 and the Pico variant (Ace 2 has a ARM Cortex A9, ARM v7 32bit CPU). I downloaded open_gapps-arm-6.0-pico-20220215.zip from the Open GApps website.
Because I was certain that I can install both packages, I put them onto a Micro SD card, plugged it into the phone and booted into CWM (ClockWorkMod). Installing Cyanogenmod / LineageOS 13 went pretty well. So I rebooted and recognized, that CWM had been replaced by TWRP 3.0.2-0 (Team Win Recovery Project). When I tried to install GApps i got an Error Code: 70. It told me: Insufficient storage space available in System partition. You may want to use a smaller Open GApps package or consider removing some apps using gapps-config. To keep it short, the proposed solution of using a gapps-config file wouldn't work. Wiping System, Data, Cache from TWRP and installing everything again gave the same result.
So the question is: How to install Cyanogenmod / LineageOS 13 (Android 6.0.1 Marshmallow) with GApps and Signal Messenger onto a Samsung Galaxy Ace 2 GT-I8160?

Caution
Before using the solution please make sure you understood the following:

The proposed solution is only suitable for a clean install (a.k.a.
from scratch).
The proposed solution modifies the patition table of the phone. You
are risking a bricked phone (especially if u edit other partitions
related to the bootloader). Also entering wrong numbers may lead to
a corrupt partition table.
The proposed solution expects you to be familiar with CWM
(ClockWorkMod), TWRP (Team Win Recovery Project) and ADB (Android
Debug Bridge).
The proposed solution expects having USB-Debugging on your phone
enabled.
The proposed solution expects having CWM or TWRP installed. If you
do not know, how to do this, search for it. Basically it's using adb
and fastboot to unlock your device and flash a recovery image (like
TWRP) to your phone.

Solution
While searching for a solution I tried to figure out, what size the system partition has and what is left. I used TWRP, navigated to Wipe > Advanced Wipe > Select System > Repair or Change File System and discovered it beeing 590 MiB having some 100 MiB left. Obviously this was not enough. Because I had no idea how to solve it, I tried using the option Resize File System which didn't do anything to the partition size.
I was asking myself, if this phone has internal memory capacity of 4 GiB, would it be possible to swap space from another partition to system. While searching for a solution I discovered, that someone else had the same idea like me here on StackExchange. But unfortunately it uses custom build binaries (of parted and gdisk) for another phone which I wouldn't want to use here, because I would risk damaging my partition table. Also using resizepart seemed error prone to me, because the version of parted which my phone had installed didn't recognize ext4. Furthermore the whole description seemed like a lot of guessing to me.
My decision was to manually edit the partition table with the onboard tools of my phone, which I could've done with the command line from TWRP. Instead  I plugged my phone into the USB port and used adb from Debian Bullseye:
$ uname -a
Linux MACHINENAME 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-21) x86_64 GNU/Linux
$ adb --version
Android Debug Bridge version 1.0.41
Version 28.0.2-debian
Installed as /usr/lib/android-sdk/platform-tools/adb

First I checked for the partition numbers and sizes of system and data paths.
$ sudo adb shell df -h
Filesystem                Size      Used Available Use% Mounted on
tmpfs                   322.6M     64.0K    322.5M   0% /dev
tmpfs                   322.6M    212.0K    322.4M   0% /tmp
/dev/block/mmcblk0p7      9.8M      4.6M      5.2M  47% /efs
df: /mnt/.lfs: Function not implemented
/dev/block/mmcblk0p8      1.1G      1.1G     10.7M  99% /sdcard
/dev/block/mmcblk0p8      1.1G      1.1G     10.7M  99% /and-sec
/dev/block/mmcblk1p1     14.8G      1.6G     13.2G  11% /external_sd
/dev/block/mmcblk0p17
                         15.5M     10.5M      5.0M  67% /ramdisk
/dev/block/mmcblk0p3    602.4M     10.0M    592.3M   2% /system
/dev/block/mmcblk0p4    301.2M      5.0M    296.2M   2% /cache
/dev/block/mmcblk0p5      1.2G     21.4M      1.2G   2% /data

Then I unmounted those paths and used parted to discover the partition's device /dev/block/mmcblk0 and its partition table.
$ sudo adb shell umount /data
$ sudo adb shell umount /system
$ sudo adb shell
~ # parted /dev/block/mmcblk0
GNU Parted 1.8.8.1.179-aef3
Using /dev/block/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) print free
print free
Model: MMC SEM04G (sd/mmc)
Disk /dev/block/mmcblk0: 3959MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name       Flags
        17.4kB  524kB   507kB   Free Space
10      524kB   1573kB  1049kB               PIT
 6      1573kB  3146kB  1573kB               CSPSA FS
        3146kB  4194kB  1049kB  Free Space
 7      4194kB  14.7MB  10.5MB  ext4         EFS
 2      14.7MB  31.5MB  16.8MB  ext4         Modem FS
        31.5MB  32.5MB  1049kB  Free Space
14      32.5MB  34.6MB  2097kB               SBL
16      34.6MB  36.7MB  2097kB               SBL_2
 1      36.7MB  53.5MB  16.8MB               PARAM
12      53.5MB  55.6MB  2097kB               IPL Modem
13      55.6MB  72.4MB  16.8MB               Modem
15      72.4MB  89.1MB  16.8MB               Kernel
17      89.1MB  106MB   16.8MB  ext4         Kernel2
 3      106MB   748MB   642MB   ext4         SYSTEM
 5      748MB   2056MB  1309MB  ext4         DATAFS
 4      2056MB  2377MB  321MB   ext4         CACHEFS
 9      2377MB  2713MB  336MB   ext4         HIDDEN
11      2713MB  2765MB  52.4MB               Fota
 8      2765MB  3949MB  1184MB  fat32        UMS
        3949MB  3959MB  10.5MB  Free Space

(parted) unit B
unit B

(parted) print free
print free
Model: MMC SEM04G (sd/mmc)
Disk /dev/block/mmcblk0: 3959422976B
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start        End          Size         File system  Name       Flags
        17408B       524287B      506880B      Free Space
10      524288B      1572863B     1048576B                  PIT
 6      1572864B     3145727B     1572864B                  CSPSA FS
        3145728B     4194303B     1048576B     Free Space
 7      4194304B     14680063B    10485760B    ext4         EFS
 2      14680064B    31457279B    16777216B    ext4         Modem FS
        31457280B    32505855B    1048576B     Free Space
14      32505856B    34603007B    2097152B                  SBL
16      34603008B    36700159B    2097152B                  SBL_2
 1      36700160B    53477375B    16777216B                 PARAM
12      53477376B    55574527B    2097152B                  IPL Modem
13      55574528B    72351743B    16777216B                 Modem
15      72351744B    89128959B    16777216B                 Kernel
17      89128960B    105906175B   16777216B    ext4         Kernel2
 3      105906176B   747634687B   641728512B   ext4         SYSTEM
 5      747634688B   2056257535B  1308622848B  ext4         DATAFS
 4      2056257536B  2377121791B  320864256B   ext4         CACHEFS
 9      2377121792B  2712666111B  335544320B   ext4         HIDDEN
11      2712666112B  2765094911B  52428800B                 Fota
 8      2765094912B  3948937215B  1183842304B  fat32        UMS
18      3948937216B  3950000127B  1062912B
        3950000128B  3959406079B  9405952B     Free Space

As you can see the partitions of system and data border to each other. In the next steps I will move the border between them, which will reduce the size of data and give additional space to system.
First I deleted partition 5 (data), recreated it and moved the starting point from 747634688B to 947634688B (while keeping the same end) which would make it lose around 200 MiB at the beginning.
(parted) rm 5
rm 5
(parted) mkpart
mkpart
Partition name?  []?

File system type?  [ext2]?

Start? 947634688B
947634688B
End? 2056257535B
2056257535B
(parted) name 5 DATAFS
name 5 DATAFS

After that I deleted partition 3 (system), recreated it and moved the ending point from 747634687B to 947634687B (while keeping the same start) which would make it gain around 200 MiB at the end.
(parted) rm 3
rm 3
(parted) mkpart
mkpart
Partition name?  []?

File system type?  [ext2]?

Start? 105906176B
105906176B
End? 947634687B
947634687B
(parted) name 3 SYSTEM
name 3 SYSTEM

I then quit parted and back in the shell of adb I formatted these partitions with ext4.
(parted) quit
quit
~ #make_ext4fs /dev/block/mmcblk0p5
~ #make_ext4fs /dev/block/mmcblk0p3

As a last step I checked the partition table again.
~ # parted /dev/block/mmcblk0
(parted) unit B
unit B
(parted) print free
print free
Model: MMC SEM04G (sd/mmc)
Disk /dev/block/mmcblk0: 3959422976B
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start        End          Size         File system  Name       Flags
        17408B       524287B      506880B      Free Space
10      524288B      1572863B     1048576B                  PIT
 6      1572864B     3145727B     1572864B                  CSPSA FS
        3145728B     4194303B     1048576B     Free Space
 7      4194304B     14680063B    10485760B    ext4         EFS
 2      14680064B    31457279B    16777216B    ext4         Modem FS
        31457280B    32505855B    1048576B     Free Space
14      32505856B    34603007B    2097152B                  SBL
16      34603008B    36700159B    2097152B                  SBL_2
 1      36700160B    53477375B    16777216B                 PARAM
12      53477376B    55574527B    2097152B                  IPL Modem
13      55574528B    72351743B    16777216B                 Modem
15      72351744B    89128959B    16777216B                 Kernel
17      89128960B    105906175B   16777216B    ext4         Kernel2
 3      105906176B   947634687B   841728512B   ext4         SYSTEM
 5      947634688B   2056257535B  1108622848B  ext4         DATAFS
 4      2056257536B  2377121791B  320864256B   ext4         CACHEFS
 9      2377121792B  2712666111B  335544320B   ext4         HIDDEN
11      2712666112B  2765094911B  52428800B                 Fota
 8      2765094912B  3948937215B  1183842304B  fat32        UMS
18      3948937216B  3957000191B  8062976B     ext4         TEST
        3957000192B  3959406079B  2405888B     Free Space

After that I rebooted into recovery to make sure TWRP is detecting it and having all mount points set correctly. I installed the above mentioned archives (first lineage13.0-20180914-UNOFFICIAL-codina_SergeyL.zip and second open_gapps-arm-6.0-pico-20220215.zip), which now went fine and wiped the Dalvik/Art-Cache. After a reboot to the system and a couple of minutes waiting finally Cyanogenmod / LineageOS 13 with GApps was installed.
I configured my phone and installed Signal through Google Play Store plus F-Droid and some other apps. The GBoard (with Swype gestures) was installed by default. The phone is running fine and everything works as expected (Wifi, 3G, hotspot, bluetooth, mail, alarm clock, browsing, dialing, sms, contacts, camera, etc.). But due to the matter of low storage I couldn't install another webbrowser like Firefox. So I need to stick to the onboard browser, which is okay.


text:
How do I flash a custom recovery/ROM to my Galaxy Core Prime (SM-G360V)?
I've been trying to flash a custom recovery and ROM to an old Galaxy Core Prime. Based on advice I received on Reddit, I decided to try using Heimdall. I put the phone into Odin Mode and connected it to the computer. I then attempted to create a PIT file for my device, in order to flash the TWRP .TAR file to it. The process started, before I received the following error message:

Downloading device's PIT file...
ERROR: Failed to send request to end PIT file transfer!
ERROR: Failed to download PIT file!
Ending session...
ERROR: Failed to send end session packet!
Releasing device interface...

I don't know what happened. What went wrong? How do I fix this issue? If needed, here are some clearer photos showing my situation:

please try again with another fork of heimdall (precompiled binaries available) https://github.com/amo13/Heimdall/releases


text:
Is it possible to restore Whatsapp Data from Google's backup, when it was backed up but Whatsapp just wiped it recently?
Is it possible to restore Whatsapp Data from Google's backup, when it was backed up but Whatsapp just wiped it recently?
What happened was I had whatsapp on my Oppo Phone, and my Laptop.
I dropped my Opp Phone on a rainy day, and it broke and got wet inside and doesn't work right.
I have a number of Google accounts.
So I pulled out another phone, a Moto phone, And I put whatsapp on there. And I pulled up whatsapp on my laptop and saw all my messages and whatsapp groups.
I then moved my SIM card from the broken Oppo phone, to the Moto phone. And a message appeared on my laptop whatsapp saying to link it to my mobile.. Also some message appeared on my mobile saying "restore now 500MB or I don't get another chance".  I wasn't sure if the 500MB was my backup or not 'cos 500MB seems maybe not that much. I didn't say yes or no, I just pushed the back arrow.
I went through the process on the laptop about linking, then both got wiped.. The phone lists all groups with no messages in them, and no chat messages.. As does the laptop.
So it seems that when I didn't say Yes to that restore now message. Then it wiped my backup.
I'm wondering if  Google has a backup made by whatsapp  from e.g.  Before Today, that I can go back to?
It's pretty bad that whatsapp chooses to wipe a backup rather than create a new backup on the account.

Check the backup inside Google Drive. Is it still there? Also, check the phone number to which it is linked. Otherwise, I'm afraid there's no way to restore since the backup is only stored there.

@AndrewT. it is still there on google drive , but I can't seem to copy it off via google takeout or by right clicking


text:
How do you clear "Media Storage" on Android 11?
I have 2 GB on an 8 GB phone that I don't know how to get rid of.

@alecxs I don't think so... Anyway I just did a factory reset and that solved the problem ^ _ ^


text:
Go to your old device in Google Authenticator to import 2FA codes
After installing the Microsoft Authenticator in a new device, I logged on to my MS account and all my 2FA app codes are there, as expected. Perfect.
After installing Google Authenticator, no codes appear: The Transfer Accounts > Import accounts option simply shows the attached dialog asking me to go to my previous device to continue.

Is this some kind of sick joke from Google? What happens if my "old device" was stolen, lost, dropped from a bridge, bursted into flames or otherwise destroyed? I simply loose access to ALL my 2FA accounts.
Any ideas what's the procedure in this case? This is all theoretical, I've never lost a phone, but it could happen anyway and I prefer to anticipate to this. Of course now my main 2FA codes app is Microsoft Authenticator, but the Google app should have considered the option of users losing phones somehow, otherwise the Device Locator app from Google would be pointless.

Hmm, I'm tempted to close this question as a dupe of How do I back up Google Authenticator? because that's the only known way.

Have you seen this?Google Authenticator now supports Google Account synchronization @AndrewT, I don't use authenticator, so can't say if this is any improvement

Besides, I read that backup apps fail in restoring Google authenticator while Aegis apparently can import authenticator codes and be restored too..

@beeshyams yes, it's what the update on my answer says.

Update: As of April 2023, Google Authenticator now supports online sync.

Google Authenticator only stores secrets on-device, did not provide online/cloud sync/backup, and doesn't allow its data to be backup by Android.
Disregarding the speculation on the reasons why they only provided on-device data transfer, there are at least 2 ways to prevent the user from being locked out:

Store the backup codes provided by the service and use them
Do a manual backup by exporting the QR code and storing it safely (ref: Can you use a screenshot of the "export accounts" QR Code of Google Authenticator as a backup?)

Further reading: How do I back up Google Authenticator?

As of september 2023, Google finally decided to store the Authenticator codes on their own cloud servers. Whenever you reinstall it, codes will be restored, just like your mails are kept in Gmail when you login from a new Android device.


text:
Android 128GB micro SD does not show up in Windows 11
I have a Motorola Moto G7 Supra with a 128GB SD card. The USB port is broken. I tried to put the SD card in an adapter and it did not read or recognize it. I have a 32GB card that reads in the adapter fine but not this 128GB Android SD.
Is there a way to install an app on Windows 11 that can read the SD card from the Android using the SD card adapter?
I tried searching but come up with only "use USB connection" which I don't have.

try linux

Welcome to the Q&A site Android Enthusiasts Stack Exchange. Sorry, the site discourages sending files to personal email (as well as everyone's email address being kept secret from anyone for privacy and spam prevention).

An 128GB SD-card is most likely formatted with exFAT file-system which is supported by Windows 11. If you can not read it most likely the sd-card was adopted as internal storage and is encrypted and thus only readable by the phone itself.

ok if that exFAT is true i should be able to read it.  i always kept it as external and did not install apps to run on it

i have a linux machine thanks

ok.  is there an emulator app for windows that can read the internal storage of an android phone?  internal storage is not a secret storage system is it?  sure doesn't stop hackers if they want to get into your stuff.

Internal storage isn't a secret but encryption is and for good reasons. That said there can be another problem which is an old SD/MMC reader that doesn't support cards of that size,

Ok UPDATE: I "operated" on my USB port on the Android Phone and using a pin and a box cutter razor blade , i was able to straighten the pins out and get the phone to charge.
i can connect the usb cable directly to the Windows 11 computer, but, still cannot read the SD card in the android phone.
I tried everything from ip address access to Wi-Fi network even an app called Anydesk and that app can actually access the phone but access is denied when i try to transfer files
so th phone can be accessed, but cannot see it in windows any other way so far.
Bluetooth says paired but wont access

i will try to get a reader that can handle 128gb sd cards next.  anyway i would like to fix connectivity still

Update - went to look at SD Card readers and only categorized by speed.  No mentions anywhere that there is a size limitation or even mentions that.


text:
Control older android phone on PC
I have an older Android phone (Samsung Galaxy S6) that I'd like to fully control using my PC (Microsoft Surface 8 with Windows 11). It's my "spare" phone and I want to install apps on it that I don't want to install on my "regular" phone, however it needs to be linked to my google play store account so an Android emulator won't suit my needs.
Ideally, I'd like to plug one end of a USB or similar cable into the phone, with the other end plugged into the PC and control the phone within a "window" in Windows just like I would any other app.
The main use case is controlling google play store apps on the phone. Other features like file management, use of the phone's texting/phone capabilities etc. would be nice, but not essential.
A free solution would be nice, but I don't mind paying a little for the service.
I'd prefer to not invest in any hardware unless it's commonly available (e.g. I have various USB cables, an old OTG cable etc.).
I'd much prefer a wired solution to avoid lag, however a wireless solution would be OK as long as it's responsive enough given the age of the hardware.
I have researched solutions like AirDroid and similar products but they all have various limitations like the age of the phone, requiring specific phone models, only allowing specific 3rd party apps etc.
I also saw this link here but it was from 9 years ago and surely there is something better these days: control android device from pc
Is there a solution that fits my needs?

Samsung Galaxy S6 was released with Android 5.0 so my answer to How do I project the screen of my Android phone for a presentation? which is scrcpy should be valid and scrcpy does have remote control features.

@MorrisonChang Thank you, I'll check that out!

Regarding the linked question, most of the answers were posted in 2021 though :)

You can find several options in my app listing Manage your Android Device from your Computer plus some more at ADB Programs for your computer (under "Remote control"; these will need USB Debugging enabled and ADB available on your device). I sometimes use AndroidScreencast, scrcpy is quite popular as well. Do any of those fit your needs?

@Izzy Thanks for that. I'm going to try scrcpy and a few others recommended here. If they do what they say they do, I may have found a solution! Will report back.

Thanks to the commenters, scrcpy does what I need perfectly.


text:
What is RAM plus and how does it impact performance?
So Samsung decided to factor in a feature that I have only seen work on desktop PCs called RAM plus and it's supposed to let the system use internal storage for to keep more background processes running. So does this add us more RAM and will there be a significant improvement in performance for enabling this option. Will it necessarily result in more processes running in the background being kept alive or?

Precursory search that might be helpful: Samsung Support - What is RAM Plus and How to Use It?, Android Authority - Need more RAM on your Samsung phone? Samsung makes it (kind of) possible., Android Police - Samsung RAM Plus slowing your phone down? Here's how to disable it

Thanks Andrew T. Let me check the links out.


text:
How to regain lost access to encrypted data, known lock pattern
My S10e is running LineageOS 19.1, rooted with Lygisk.
After one specific reboot after changing the SIM card, it entered a boot loop where it showed the Lineage boot animation for a few minutes, then reboots.
I never got to the unlock screen anymore.
After reinstalling bootloader etc. as well as dirty flashing LineageOS, the phone boots up again but I don't get access to data on the interal /sdcard.
The partition is accessible but all files/folders are encrypted.
Trying to access them in TWRP terminal (or trying anything else like Nandroid backup) I always get the error "Required key not available".
So, my questions are:

can I in some way bring the phone's software to exactly the same state as before and making it recognise data, so that I can decrypt it?
will enabling phone encryption again and using the same lock/encryption pattern be sufficient? (I fear not)
Or is my assumption that it should be possible to reconstruct the key when using the same lock pattern on the same hardware & software flawed in general?
EDIT:
Is there any kind of redundancy of storing keys in LineageOS, which would allow to restore the original one?
I do have a SeedVault backup - does it include the original encryption keys?

Only in some old Android versions the cryptographic key (for the user data partition) was directly derived from the lock pattern/pin/password. On recent versions this is not the case instead random generated keys are used, protected e.g. using GateKeeper, so I doubt that you will be able to "reconstruct" the key. Not sure how exactly the keys management works on LineageOS.

/sdcard actually is /data/media so it's very unlikely you have decrypted /data

@alecxs I didn't mention /data but "data" on /sdcard, more specifically user data mounted from /dev/block/platform/13d60000.ufs/by-name/userdata

/dev/block/platform/13d60000.ufs/by-name/userdata is the only rw partition, all other partitions are mounted ro. all data is saved in /data. My best guess is the encrypted files in /data/media/ belong to another profile and therefore cannot decrypted with same credentials like the rest of files?

Ok, maybe I mixed things up, seeing different paths at different stages via adb shell vs TWRP terminal. Current situation is I see all those encrypted folders in /data/media/0 which belongs to my original profile (there never was any other profile on the phone).
Shouldn't I see a fileencryption= parameter in fstab somewhere (there is none)?

if the flag is gone in /vendor/etc/fstab* it must happened by magisk or any zip. this TWRP can handle LOS encryption

@alecxs Thanks for the TWRP link, never found that one while searching for a TWRP with encryption support for Samsung devices. However, what do you mean by "can handle LOS encryption"? twrp decrypt says "no crypto support was compiled into this build" just the same as the latest TWRP official one.
Access to /data/media/0 fails with "permission denied" instead of seeing encryted files, though.
And I don't have /vendor/etc/fstab, just /etc/fstab. Does it make any sense to add fileencryption= parameter there? If so, what syntax exactly, any non-default values with it?

(LOS) LineageOS FBEv1 encryption is supported, but Samsung encryption is not. maybe yours is FBEv2. /etc/fstab is from TWRP, you need to mount /vendor

@alecxs Did mount /vendor and found /vendor/etc/fstab.exynos9820, it contains the expected fileencryption= param.
How would I make TWRP use it, too? Tried using the same line in /etc/fstab and /etc/recovery.fstab* to no avail.

@alecxs Which fstab file does TWRP use?
Is there any way to tell if LOS FBEv1 or v2 is used (I'm on LOS 19.1)?
twrp decrypt says "Attempting to decrypt..." but then still "Not crypto support was compiled into this build"
And finally: should I rather move this conversation to XDA?
I'll only be able to look into this again coming monday, though...

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer.


text:
Google Calendar displaying the same events for different users. Why?
I am trying to use Google Calendar. I have different accounts registered in the Google Calendar Android app. Each of these corresponds to a different phone user in my household or to one of my virtual accounts.
What I can't understand, is, why are my calendar events staying the same when I switch users in the circle in the upper right-hand corner of the app?
The following images display the same calendar entries for both of the users I have switched in the app.
.
Thank you for your help.

This is actually a function of Google Calendar. Most people want to make sure they can see their entire schedule at a glance, including events that belong to different accounts.
If you pull out the sidebar from the left hand side (either by sliding from the side or using the "hamburger" (three lines) menu) you can see which calendars are being displayed from each account and toggle them on and off with the checkboxes. The selections you make with these checkboxes are "sticky" per account, so when you switch to another account, you can make a different selection there.
Please note that some calendars may be hidden from this menu at first; they'll need to be enabled under Settings > [pick an account] > Show more > tap on calendar > Sync.


text:
I am not able to uninstall "Island" app. What should I do now?
I installed Island app after some YouTubers said. But it is now not uninstalling itself. Plus it is also not showing in the admin app list. As it gained admin access.
Whenever I try to uninstall it, it shows the error "Can't uninstall active device admin app". I have also checked the admin app list from security settings but it is not even showing there. I am too scared because my phone is rooted and it has gained full access to my phone (I think). My apps are divided into two sections "Personal" and "Work".
Kindly tell me how to uninstall this "Island" app.

First remove the work profile.

I can't really remember what's inside the Island app, but wasn't there some kind of uninstallation guide inside the app?


text:
How do i rename and move all .srt files in multiple sub folders to main folder?

How do I rename the .srt files inside these folders and move them to main folder so that I can transfer it on USB drive to watch on TV

Use find and mv on Termux.

Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking.


text:
How do you edit an APK file so the app won't show ads?
It's one of those thoughts you have just before nodding off to sleep. How would I do this?

The practical answer is that you don't edit the APK file (which is actually a ZIP file) because it's not that simple, but find another way to block the [tag:ads]. However, our sister site [reverseengineering.se] may help more in this field.

It is usually easier to just prevent loading of the ads, e.g. using a local VPN like https://blokada.org

You can also try a Pi Hole to block ads.

You can try finding the mod apk online. If you are into coding, then you can try using java decompiler to decompile the apk and see the source code. If you are lucky enough to find the exact place of where Ads being placed in code, then you can modify as per your requirement. However, now a days, it is very difficult to decompile into straight original source code due to increased security. For learning purposes, I used to use Apk-Studio for decompiling, making changes and then compiling again with modified code/resources.


text:
VNC viewers not working
I have a Samsung Galaxy A10s with Android 11 One UI 3. Recently there was a problem: VNC viewers do not work. I enter, for example, localhost:1 (I want to connect to the Termux VNC server), I connect, and the connection window hangs indefinitely, and then a timeout appears. And so with any VNC viewers (I tried AVNC, bVNC, VNC Viewer). Help me please!

Translated by Google Translate from Russian

In my understanding localhost:1 means "connect to the VNC server that runs on localhost TCP port 1". But VNC server usually don't run on TCP port 1. Specify the correct TCP port termux VNC run on (instead of 1) and the client may be able to connect.

@Robert I installed xfce4 in Termux and tigervncserver. And when I write the vncserver command, it gives me port :1, that is, everything is correct. Changing the address to localhost:5901 not helps.

The problem was solved by allowing background activity in the Termux settings.


text:
How can I stop downloading but continue seeding with BitTorrent on Android?
I wonder the following: How can I stop downloading but continue seeding with BitTorrent on Android? I use Pixel 6 + Android 12.

Does this app not offer speed controls per torrent or app-wide? If it does, set download  speed to 1KB/s.

@Firelord thanks, only app-wide, but I need to download other torrents.

You should probably mention/link to which bittorrent client you are using and given that there are other clients look for one with your needs.

@MorrisonChang I use BitTorrent on Android https://play.google.com/store/apps/details?id=com.bittorrent.client&hl=en_US&gl=US


text:
Disable proximity sensor on WhatsApp
My Xiaomi phone proximity sensor was broken, it is giving false result, most of the time it think it is blocked when it was not, and its value keeps changing. This affect phone call because the screen is turned off until the phone call is over or I force reboot the phone. I have disabled the screen off during call at Apps/System app settings/Call settings/Incoming call Settings to workaround this problem.
However, it looks like WhatsApp is not affected by these settings. My screen is turned off for the entire duration of WhatsApp calls, I can't even end calls due to this, the only way to escape is to force reboot the phone or wait for the other person to end the call.
Is there any way to set WhatsApp to keep the screen on during phone calls? I haven't found the answer on Google, any help is appreciated.

Related/possible dupe: How to disable proximity sensor

Does this answer your question? Screen turns off during call due to problem with proximity sensor - Xperia Z3 compact


text:
Local contacts only under Android 11?
I'm using Android 11 on my rooted Pixel 5 phone. It turns out that the Contacts app under this OS does not allow access of device-only contacts. I can only access contacts via a shared Google account.
Furthermore, if I go to Settings and try to disable network permissions for the Contacts app, it turns out that the Permissions settings are greyed out, and I cannot alter any permissions for the Contacts app.
I know that I can disable contacts sync-ing, but I want to go further. I want my contacts to be totally and completely disconnected from Google. I am happy to use an alternative contacts app that accesses device-only contacts, but that app would also have to be able to feed my contact information to all SMS and phone apps that I might use.
Does anyone know how I can ...
(1) ... go to Google and remove all my contacts there without this causing local contacts on my device to also be removed?
(2) ... break all (!!!) connections between Google's cloud-based contact storage and my local, device-only contact storage.
(3) ... reliably allow all device-only contacts to be available to other apps, including (but not limited to!) SMS apps and phone apps?
I know I can manage this by switching from standard Android to something like microg. But I'm hoping that there is some way that I could still stick with Android 11 and have device-only contacts with no sharing with Google in any manner.
I know that under Android, contacts are managed via a Contacts Provider service. Does anyone know of a way to disable the standard Android Contacts Provider service and somehow install some sort of alternate Contacts Provider service which would allow the use of device-only contacts and which could be configured to never, never, ever (!!!!!) share any contacts-related information with Google?
Thank you in advance for any thoughts and suggestions.

The contacts app itself is just a viewer app for the contacts database. And sync is again a different compinent. Each is a separate component/app. So it could be possible that the contacts app has no internet permission.

Oh, OK. Thank you.  So how can I manage device-only contacts under Android 11? In earlier Android versions, one of the Account options within the Contacts app was to choose "phone" contacts, but that option has now been removed from the Android 11 Contacts app.

You need a local contacts provider. For devices that does not have such a local contacts provider there are apps which can backfit this. Not sure if it still works on Android 11 but apps like MyLocalAccount were designed to do so.

Just to add that Pixel devices use Google Contacts app which doesn't provide local contacts. On the other hand, 3rd-party contacts apps may still use the same Contacts Provider for storing contacts locally. Otherwise, the contacts won't be accessible by other apps (e.g. Phone, WhatsApp), if that's acceptable.

Possibly related/dupe: How to replace Google Contacts with an alternative?

Many thanks to both of you. Your responses helped me learn what I needed to learn and steered me to coming up with the Answer that I have now posted.

I ended up figuring out how to do this. It's similar to much of what @Robert and @Andrew_T were suggesting. Here is what I finally did:
First of all, I took the obvious step of making sure that contacts sync-ing is turned off.
Next, because I happened to have previously installed the True Phone contacts manager and phone manager app from the play store, I now made it my default phone app and started using it for contacts management.
Then, I used that app to make a local backup of my contacts using that app's conventions.
Following that, I froze the Contacts app, and I kept the Contacts Storage app active. I checked the permissions for the Contacts Storage app, and it has no network-related permissions. So apparently, it just looks at the local contacts database, and some other piece of software is actually the one which syncs Google's cloud-based contacts data with the local database. And by having turned off contacts sync-ing, it seems like I have indeed successfully prevented Google from getting its hands on any of my contacts.
Then, I went from my desktop computer to http://contacts.google.com with the same login credentials that are associated with my Android device. I then permanently deleted all of the contacts there.
(I rebooted between each of these steps and also after the final step.)
Now, my SMS and phone apps still see the contacts info in my local database. And I can manage the local contacts backup and restore via that True Phone app.
I'm sure that there are other phone/contacts apps which also could be used for this. But True Phone works well enough for me, and I already had that app sitting on my device, and I'm too lazy to try any others right now.
So ... it turns out that no major OS surgery was needed accomplish all of this.


text:
Is WiFi RTT Ranging and WiFi Aware compatible when running concurrently in one Android app
I have a Google pixel 5 and I am currently developing both WiFi RTT ranging (ranging from access point, see WiFi RTT) and WiFi Aware (ranging from peer mobile, see WiFi Aware) on it. Hardware-wise Google pixel 5 supports both functionalities, however I am not too sure if there will be any compatibility issue when both functions are running foreground. I am not sure if my concern is valid nor can I find any source of clarification.
Any help is appreciated.

In the official Android Developer Doc of RangingRequest.Builder class, there is a method called addWifiAwarePeer, along with the addAccessPoints method. From which I assume these two functionalities can be implemented and run simultaneously.


text:
How to find exact file path to an external microSD card?
Is there a way to find out the path of files from a microSD card that is inserted into any Android phone?

Related investigation:
From here, How to specify the directory path on external memory card? , it seems like the problem was solved, using an unspecified app that pointed to the right direction. (implying a tool can exist for that purpose)
From here, How to save files to external SD card on a non-rooted Android? , it implies /storage/[UUID]/, but it wasn't clear how exactly to figure out that UUID.

I figured out a workaround.
Using the SD Card Manager app, I looked at the Info of a folder in my microSD card while its connected to my phone, and was able to see my own particular UUID in /storage/[UUID], for example, /storage/1234-5678.
I then confirmed the UUID in a separate app that asked for it, i.e.:
/storage/1234-5678/my_own_folder, which was ended up being successful found and used.


text:
How to delete a single cached username from Chrome on mobile devices?
I'm using Chrome 109.0.5414.117 on Android 11. In the Chrome for Windows desktop version, I understand that you can delete a single cached username by highlighting the item and pressing Shift+Delete.
However, does anyone know if this is possible in Chrome mobile?

By "single cached username", did you mean the autofill suggestion on the text input?

Yes, that right. It's the autofill suggestion when I put the cursor  on the textbox.


text:
Last version of Chrome for Nexus 7 2013 2nd gen.?
I've just got hold of an old Nexus 7 2013 2nd gen., running 6.0.1 Marshmallow. After resetting, the Play Store downloads updates, and I can install the latest version of Firefox and the last version of Opera for Marshmallow (72). Chrome only updates to 95. Everything I've read suggests I can run 106, and I can certainly sideload later versions.
Why would Chrome stop at 95? Is there any way get it to update without resorting to sideloading? If you've got the same tablet running the stock OS, what version of Chrome did you stop on?

I have a similar issue with a Lenovo Yoga Tab 3 Pro. Chrome permanently displays an 'Update Available' icon to the right of the address bar, but the Play Store does not show any updates available.

Based on the captured variants on APK Mirror, looks like v106 should be supported for Android 6.0+. However, for Play Store itself, I'm afraid it's hard to answer without knowing which versions Google are still putting up online because they could pull out some older APKs without mentioning any reason.

Make sure you have installed the latest version of Google PlayServices. They usually update automatically after some hours or days but some times you have to trigger it manually. An old PlayServices version could prevent download of newer Chrome versions.

@Fat Monk - Exactly this! Good to know I'm not alone.

@Robert - 23.03, which I think is current. That was my first suspect, as I've had to sideload Play Services on (even) older devices to get them updating again.

@robert same as jetboy here .. GPS 23.03 which was released a couple of weeks ago. Going direct to the GPS page on the play store does not offer any updates (just the option to deactivate). Have also tried clearing GPS and Play Store caches and data... No change. Still no Chrome update - currently on 95.0.4638.74 releases in 2nd November 2021.

@Fat Monk Your Yoga Pad is on Marshmallow too right? Is this a device you've had since it was current, or something you've got hold of more recently? Reason for the question: The Nexus 7 is for a device lab for website testing, and I'm trying to get it into as patched a state as a regular owner would have it. If that means Chrome stops at 95, that'd be fine. If other Marshmallow tablets are the same, it'd lead me to think this is the norm.

@jetboy yes, Marshmallow. And yes, I've had it since new and kept it as up to date as possible - sadly Lenovo dropped updates very quickly and slowly software is starting to fail now as support for older Android API versions is dropped. Frustrating as there are no comparable tablets on the market these days (form factor, projector etc).

@Fat Monk Maybe a candidate for Lineage? A long shot, but do you have Firefox or Edge installed from the Play Store? If so, which versions?


text:
Google Wallet gets replaced by Google Pay
Weirdest shenanigan:
I just installed Lineage 18 and gapps, then Google Wallet (from the store).
But the wallet does not get installed: the defunct Google Pay takes its place !
Problem is: this Google Pay detects the root. Wallet used to work (after all the root hiding modules)
And now it got worse, the app is giving that error message: Google pay is currently updating so you won't be able to access the app
Can't even attempt to use it
Wiping data, dalvik, etc doesn't change anything
The ROM and device is from this question here
Also asked the ROM developers to see if they have a clue
Feb 4:
Tried making the app system (using the Systemizer module), but no difference.
Also noticed that just right after installing the app, both the Wallet and the Pay coexist on the app drawer.
For a moment, though: if I choose wallet, it disappears and runs the Pay

Found out this is NORMAL
Somehow...
Apparently, on THIS VERY ROM, the google Pay takes precedence over the Wallet.
I have an Official 18.1 Lineage on an S7, and the Wallet app takes precedence there.
All works:

Shamiko, USNF 2.3.1MOD2.1, MagiskHidePropsConfig (spoofing myself), HiddenCore Module;
Play Store, Play Services, and Wallet on the Deny list. Don't force DenyList;
Wipe data of the three above. Uninstall the updates of them all, disable them, reboot, and do the reverse. Let them update themselves from the store.

At first, GPay will be unavailable, as it really IS updating itself (internally?).


text:
A proper way to create complete backup?
Maybe someone could point me in the right direction, just trying to make a complete backup of my phone (Samsung Galaxy S22), so I could back everything up when needed, I have tried the 'Titanium Backup' and 'Swift Backup' tools so far, but they only back up the .apks, and my Google login credentials are lost.
I am really kind of lost browsing through some 11-year-old topics about 'nandroid' and 'ClockWorkMod', do people use these tools today?

Is your phone rooted? Without root most data will remain inaccessible even for backup.

Yes, it is rooted

For a non-rooted phone, I have found Samsung Smart Switch the best option.  But it will not restore to non-Samsung phones.  I may still work for rooted phones.
Otherwise, I quite like MyPhoneExplorer.  You can see what you are backing up in the filesystem and it has numerous options on what you want to back up.
However, I do not believe that you can backup/restore

Paid-for apps - I guess it's a safety feature for developers.  Otherwise, you could get multiple copies of paid-for apps working.
Credentials - Again, I believe it's a safety feature for you.

If you save passwords to your Google Account for Android App and Chrome, then I think these could be restored.
From support.google

Use passwords across your devices
You can sign in to apps and sites on different devices using passwords saved to your Google Account when you either:

Turn on sync in Chrome on Android
Sign in to Chrome on your computer


text:
How can I get a notification when a Bluetooth device stops being accessible by my Android phone?
I wonder how I can get a notification when a Bluetooth device stops being accessible by my Android phone. I use Pixel 6 + Android 12.
Example of list of Bluetooth devices that are accessible by my Android phone:

When a given device (e.g., "TV")  disappears from the list, I'd like to receive a notification.

You'll notice when a connected device is no longer available. To have notification for devices that were in range and no longer are isn't possible. There never was a provision for such event. Just imagine the nightmare it would be if it happened for each device you come in contact briefly in any given day.

@ChanganAuto thanks, in my case, I'm just looking for a way to get notified for just a single Bluetooth device (not all Bluetooth device).

@ChanganAuto it is possible to create an app which can periodically scan nearby Bluetooth devices or only user-defined Bluetooth devices, and alert the user if a device is longer available since the last periodic scan. See docs: https://developer.android.com/guide/topics/connectivity/bluetooth/find-bluetooth-devices

@FranckDernoncourt Tasker has BT_NEAR profile/trigger option. If you have Tasker already or if you can give it a go to its trial version than that profile/trigger might solve the problem for you. You'll have to adjust the timings at which to run a periodic scan, and than as an action for that profile you can setup a simple notification as an event reminder.

@Firelord Yes, you can program almost anything in software.

This can be done using Android App  Tasker.
Here is a link: Tasker: Run a task when a specific bluetooth device loses connection
Note: If you haven't used Tasker before, it is powerful, but it has a pretty steep learning curve.

Hi. OP's question is about whether a given BT device is within discoverable range or not (that's what Available Devices list shows us). If it is not within discoverable range at any point in time than OP should be notified. The linked Q&A does not help with that.

Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.


text:
Tool that provides Alternate Results for Gesture Typing
My problem:
I was at an event the other day taking notes on my Google Pixel 5. I had to gesture type quickly, creating 3 pages of notes. Now, a few days later, I'm reviewing my notes and correcting a few typos that unsurprisingly resulted from gesture typing. There's one particular typo, though, that I can't figure out from the context. For reference, and as an example, the typo in my notes is the word "faint".
What I've tried:
I tried gesture typing the typo word in a document just to see what other suggestions I would be given. It wasn't a success.
I looked at a physical keyboard, listed all the letters near every letter of the word "faint", and tried to determine other possible words from that swipe pattern. I'm not too great at word puzzles like that, and don't really have time to figure out every possibility, so no success there.
My question:
Are there any online or other tools available where I could type in a word and get a list of all possible gesture typing words that might be connected to that gesture (or a similar gesture)?