text:
Why is user and CA certificate required for IKEv2 RSA VPN?
It should work similarly as to going to a random HTTPS website, where the supplied certificate is backed by a CA, and based on which a secure connection is made. Then authentication follows over the secure connection.
So why am I required to supply both user and CA certificates. In other words, why is it not merely an option?
Edit: now that I look at it, it seems that no user nor password can be supplied either, so the client authentication happens based on the user certificate. Only for PPTP a password is required (which is not a secure protocol anyway). So the question becomes: why have they chosen to support only IKEv2 with user certificates and not passwords. It can not be for security reasons since PPTP is supported.

As the name implies, the VPN type IKEv2/IPSec RSA [sic, it should actually be "IPsec" not "IPSec"] is for client authentication with an RSA certificate/key. The name was probably chosen for consistency with the existing IKEv1-based VPN types (e.g. "L2TP/IPSec RSA" or "IPSec Xauth RSA"), it might also work with ECDSA certificates/keys not only RSA, but I did not test that.
There were two other IKEv2 VPN types added in Android 11/R's built-in VPN client:

IKEv2/IPSec PSK for authentication of both client and server with a pre-shared key (PSK), which is not an ideal choice for remote access connections as anybody who knows the PSK can impersonate the server (an active attacker can retrieve the PSK hash and attack it via brute-force/dictionary attack).
IKEv2/IPSec MSCHAPv2 for client authentication with username/password using EAP-MSCHAPv2. The server is theoretically authenticated with a certificate first so the password hash is only sent to a trusted peer. However, this verification is apparently not mandatory in this client and disabled by default (don't verify server), which makes this VPN type vulnerable to active attackers unless the user makes sure to install and select the correct CA/server certificate.

For an IKEv2/IPsec VPN client with more options (e.g. split-tunneling, app filtering), you could use the open-source strongSwan VPN client app, which also works on older Android versions. (Disclaimer: I'm a developer for the strongSwan project.)

So I understand that there is no particular reason why IKEv2/IPSec MSCHAPv2 is not implemented in Android 10, as it is scheduled for Android 11. PS Great work with strongSwan!

Plain Android 10 does actually not support IKEv2 in its built-in VPN client, Android 11 will be the first one (Google has been working on their own IKEv2 implementation for several years now). In earlier versions, IKEv2 is only supported via third-party app or if the device manufacturer modified the Android image, which is what e.g. Samsung has been doing for years (but since I don't have any Samsung device I don't know details).

I wasn't aware that Samsung was modifying the original image in such a way: I am indeed using a Android 10 Samsung device. Thanks for an other informative answer!


text:
In Android 10, is there a way to prioritize notifications (i.e. their lockscreen order) WITHIN the alert category?
In Android 7 (Nougat), there was a special option that allowed for improved granularity in managing notification order, see e.g. Android Police - Android N Feature Spotlight: Full Importance Settings Offer Granular Control Of Notification Priority. I made extensive use of this feature but, alas, it has been dropped. Now on Android 10, I only find two notification classes, "alert" and "silent/gentle".
I have a lot of calendar reminders and messages that are both required to be alerted to me. However, I need the messages (Slack, Whatsapp, etc.) to be ON TOP of all the other notifications, especially on top of the calendar reminders, so that incoming messages do not get lost among the many reminders of a day.
Previously, in Android 7, this was readily feasible by giving the messenger apps "highest priority" and the calendar app "second-highest priority". Both generated palpable alert notifications, but the messenger notifications would always be moved to the top and remain there, even as new calendar reminders come in. Currently, the only way to move the reminders below the other notifications is to classify them as silent, which defies their very purpose.
Is there any way to change the order of notifications on a per-app basis within the alert category on Android 10? I looked extensively for an Xposed module or custom ROM that could do that. So far, in vain.

Gravity box "ultimate notification control" may be of some help (it's a pro feature) - not what you are looking for but as an alternative to some extent

The only thing I've found is to scan active alerts for "now" in the time received.  Beware, sometimes there is no "now" item, I have no idea why.

source: Stack Exchange

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

sort: votes


text:
update linked table in Google docs Android
If I link a table into a docs, then later change the linked table, I can click on update when I'm on the desktop.
If there a similar function on Android?

Not sure how that's related?

If I copy and paste a table from Google sheet into Google docs, it's a linked table. If I update the table in Google sheets, how can I update the linked table in Google docs?

Outside of posting a link to the table in Google Docs, I don't see a way

It's [not possible as per Google] (https://support.google.com/docs/thread/14031766?hl=en)

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


text:
Android 9.0 x86 apps keep crashing - no native bridge
So I'm not an expert in Android or in OSes in general although I can make my way around a Linux environment, just to add as a pretext.
I recently installed Android 9 x86 on a Linx 1010b tablet (Intel processor), and I have had many problems launching certain apps that just crash quickly after launching. I have installed and re-installed Android 7 and 8 x86 multiple times and it doesn't matter which version I use, I just have trouble using some apps. I also tend to have a problem installing apps (after about 8 apps installed, play store gets stuck on 'downloading', 'installing', or '95.99 %').
So I did some reading and found it may be to do with something to do with ARM (still not entirely sure what it is), so I decided to enable it, but when I enable the native bridge on my tablet, I get a download manager process, but shortly after stops, and the enabled button switches back to grey 'disabled'. I further found that libhoudini tends to be used for this native bridge, and I searched and couldn't find one for Android 9, and maybe this is why I am unable to enable it. Running /system/bin/enable_nativebridge as a super user in the terminal emulator was also ineffective and resulted in the error 'no such file or directory'.
Does anybody have any advice on what I should do? Is this really the source of my problem — not having a native bridge? Is it impossible to run Android with an Intel processor? Is there an alternative to libhoudini? Are there any versions of Android I can use and guaranteed to work — I basically need a few apps and that's it — Microsoft Office, Adobe, Kindle, Udemy, Coursera, and YouTube.

I think you have installed Android x86 on NTFS file system try with other Android x86 old more stable version like Android x86 7.1
With latest stable release or Remix OS or Prime OS


text:
Allow WhatsApp calls in Silent / Do Not Disturb mode - Android 10
Has anyone come across a way to allow WhatsApp calls to ring & vibrate when a phone is set in Silent / DND mode on Android 10 (Device = Pixel 3A)?
The starred contacts route seems to work for regular phone calls & SMSes only and does not seem to include WhatsApp calls in the exceptions list.
If anyone has come across a solution to this & is willing to share it, would be appreciated.
Regards,
Harsh


text:
Gmail Notifications on my Galaxy Note10
I've used Galaxy Note 10 for about 6 months and one of the major issues that I have experienced was related to my gmail notification. I’d go several hours without receiving any emails and just think to check the app and as soon as I open the app then I’d have like 20 emails just sitting there that I had never received a push notification. Do you know any easy fix for this?

Maybe Gmail is optimized (see battery optimization seems). If it is , disable

Navigate to Settings > Device Care > Battery > App power management > Apps that won't be put to sleep.  Add Gmail to this list to prevent it from being put to sleep for battery optimization. You could also disable this feature entirely by disabling "Put unused apps to sleep."


text:
Is it safe to manually "clear cache" of apps on Android?
Ever since I updated Device Care on my Samsung Galaxy A10s running Android Pie, I lost my "Clear Space" option that clears unnecessary data, including cache of all apps including system apps on my phone!
Since, I'm not installing any third party apps, for this purpose, I decided to manually "clear cache" of any desired apps from Settings > Apps > App name and tapping Clear Cache. To my surprise, I found the Gallery app has about half a GB of cache, and I immediately cleared it.
I realize that apps cache stuff to improve performance, predict data to auto fill on text boxes, and various other stuff, to improve user experience. But that's taking up a lot of my Internal memory!
My question is :

Is this a safe practice?
Will this procedure damage the executable or normal functioning of my app?
Or, whether all these are dependent on the App developer / manufacturer ?
For default apps like Gallery or Chrome is this a safe practice?

it is always safe but consider emmc wear-out for apps like gallery (thumbnails or other preview stuff will generated for the same files each time again)

Clearing cache of apps is one of the to-do things if your app is laggy, unresponsive or misbehaving.
It's absolutely safe, unlike clearing data of apps which makes you lose all the app data, accounts, settings etc.
For 1,4 a definite yes. For 2, 3 it is no. Re: safety being app dependent, it is possible that the cache is used for storing data and in the process of clearing cache, one may lose data. This is not a recommended way of app development, also mentioned in developer documentation
and more of an exception, owing to bad practices.
Android framework shows a "Storage Low" notification when the free storage space reaches a minimum threshold. But even before that when free space is 1.5 times (as of Android 10) of the threshold, apps cache is cleared to free space as much as possible before warning the user. Since Android 8 apps are allotted filesystem quota to store cache files within given limits. Apps reaching or exceeding quotas are given priority when clearing caches.
For more, see

What is the purpose of the cache?
Android App Cache Security

You don't want to install third party apps but I would recommend even making it a scheduled operation (in case you frequently need to) for which I find SD Maid an excellent option (even the free version would do and I am not promoting this app, I am only recommending based on personal experience).

It's not absolutely safe. Some apps put data in the cache that you wouldn't necessarily expect. I know one texting app that stores draft attachments in the cache, so if you have a saved draft, you'd lose the attachment when the cache is cleared.  It's usually safe enough to not worry about though.

@MooingDuck. Thanks. Get your point. Cache isn't meant for  storing app data, though possible. This is pretty much non - standard stuff and what would happen if the cache was cleared automatically as mentioned in the last paragraph? OS isn't going to check if actual data is stored or not before clearing the cache. I would rather avoid such apps and developers. But as a user, you don't check, so you have a point, with probability of occurrence being very, very low.

@MooingDuck such is a poorly designed app. From documentation: “If you need to store sensitive data only temporarily, you should use the app's designated cache directory... the files stored in this directory are removed when the user uninstalls your app, although the files in this directory might be removed sooner.” and “Caution: When the device is low on internal storage space, Android may delete these cache files to recover space.”


text:
Why does Google Photos "Free up space" feature tell me I can free up only 12MB?
I'm using Google Photos to backup and sync my photos to the cloud. In the menu in the Android app there's an option called "Free up storage", which will supposedly

Remove original photos & videos from your device that are already backed up.

Clicking it brings up a dialog that says

Free up 12.46 MB
Remove 6 items from device
These items have been safely backed up to your Google account. You'll still be able to view them at any time.

This makes no sense at all, considering I have backed up 500+ photos using the app. They all appear at https://photos.google.com so I'm 100% sure they are backed up. Of those 500+ photos, only 31 are recent ones (less than 30 days old) and the rest are older, up to a year old.
Why does it say that it can only remove 6 photos and free up 12 MB? Is it because my phone has 3 GB free internal storage and 20 GB free SD Card storage already?
I am aware of the "Delete from device" option to delete individual photos, what I'm interested in here is how the "Free up storage" feature works, and why it won't actually free up all the backed up photos.

@beeshyams No, it still makes no sense. I have 31 new photos (less than 30 days old) and around 500 older. So shouldn't it free upp those 500 photos that are more than 30 days old?

@beeshyams I don't understand how that would explain why I can only free up 6 photos even though I have backed upp 500+ photos? The "Device folders" only lets me choose additional folders to backup, in addition to the normal camera folder. No extra folders are selected. Please explain what you mean.

My assumption - those 6 photos were from other folders (non - camera) but that's not valid, as you didn't select them. No idea as to why this behavior


text:
How do I mount a Synology remote folder on Android 8.0?
My phone is not rooted.
I have shared folders on a Synology drive which I can mount on a couple of different Macs running different versions of Mac OSX. I am assuming the folders are published using CIFS/SMB but I cannot mount them on my Android phone using file manager type applications. So far I have tried "ES File Explorer", "Network Browser" and "File Commander" none of which are able to connect.
I can connect to the Synology home page using a browser on the phone so network connectivity is OK. Do I need to disable/enable firewall/sharing settings on the phone?

Are the Macs also connected via Wifi? Some Wifi router have an option das disallows to communicate Wifi devices with non-Wifi devices.

Macs are connected by Wifi to the same network the Synology server is on. Android phone is also connected by Wifi to the same network.

Router is a Netgear D7000v2

You have a Synology app. Try that

Synology app works fine but I'm not sure it uses CIFS/SMB. I'm looking for a more general solution which doesn't constrain me to using the Synology app.

On Termux app run nmap -p139,445 --script smb-enum-shares <IP> to make sure SMB shares are available. If yes, any file explorer app with SMB (SAMBA/CIFS) support should work. Also smbclient can be used from commandline if you manage to get/build the binary for Android. Or you may configure Synology server to use some other protocol e.g. FTP.

Yes the shares are up on both 139 and 445 according to nmap. Thanks for the command line and the intro to Termux! I guess I'll have to run through all the smb client apps and find one that that works and is stable. Stay tuned.

No specific configuration beyond the availability of published shares is required.
Sometimes issues arise due to the stability and capabilities or lack thereof of Android apps to mount the shares. The following apps have been tested and were able to reliably and successfully access SMB shares from the Synology server (at 2 June 2020) using a simple combination of (server) IP Address, username and password:
LAN drive, Cx File Explorer, X-plore, File Commander


text:
Do not activate work profile when adding a G Suite account
I have a Samsung Galaxy S8+. I manage different email addresses, one of them is managed from a G Suite account. When I connect this account, my phone is installing a work profile, if I cancel during the work profile installation, I can not use my account. With the work profile, everything is separate (Gmail, Google Drive, ...), this is not really easy to use. I want to have this account as a personal account and not a work account.
I tried to remove it by following Pause or turn on your work profile, but on my phone, going to Settings > Accounts, I only have my personal accounts and can not see "Work profile settings"
I have another account managed with G Suite but I do not have this problem.
I also have access to G Suite if the solution is to deactivate it there.

I found the solution.
In Gsuite console
Need to go in Devices > setup (on the left menu) > mobile device management
And disable the functionality


text:
Xiaomi mi a2 lite stuck on headphones mode
I was doing a mod with my car for an aux input mod but along the way I had to try different pinouts on my radio pcb to get the signal into it from my phone and unfortunately I damaged the phone audio circuit because when i unplug the jack it still puts the signal through headphones and speaker is out of play . I did find a temporary solution using lesser audioswitch app but when i restart the phone it switches again to headphones and I have to manually put it back to speaker mode .Does any one know a way to permanently set the audio output to loudspeaker as I will not use headphones anymore . By the way I physically removed the headphone port on my phone to be sure it is not in short or something. Any solution is appreciated.
Thanks in advance.


text:
Removing Do Not Disturb feature in Motorola phone
I am trying to completely eliminate Do Not Disturb on my Motorola phone. If I'm in a doctor's office, I just turn the volume down.
I've tried all the simple settings on the Settings pages.
Is there any way to remove it?

Build a custom ROM with your desired modifications to the source code.


text:
Formatted sd card android 6 Marshmallow
I have a big problem with recovering files from a SD Card.
I had a SD Card putted as internal memory on an Infinix android 6 Marshmallow, i've accidentally formatted the sd card when inserted on my PC to copy files, i've tested all the recovery program but no luck, i've found that when the sd card is used as internal it got encrypted.
So is there any way to recover files or to decrypt the sd card ?
Best Regards,

Unfortunately, no way. When you use adoptable-storage (tag added to question) the device and SD card become one unit. Any changes to SD like you did will render device useless. You will need to format it. See the tag wiki link to learn more and decide if you really want to adopt next time

But when i removed the SD Card from the device the phone is still working and all my apps was there, but the pictures on the SD Card were inaccessible, so when i'm trying to recover files i didn't get anythings

@achrafr'b phone still worked because your SD card only contained your personal files. And you hadn't moved apps to SD card. See details here: https://android.stackexchange.com/a/214706/218526 // Trying to recover files won't get anything because when formatted as internal/adoptable storage, SD card is encrypted. And you can't recover anything from encrypted SD card after it's formatted. See details here: https://android.stackexchange.com/a/214496/218526

I've used unformat and he has detected 3 partitions with index0 / 1 / 2 starting from different sectors and 2 parts are with bad status and the partt with index 0 has good status but unformat didn't recover any data
Is it an indice to recover my files or no luck because i didn't remember if i used my sd card as external or internal on the phone


text:
Can baking EMMC chip revive a dead motherboard?
I think my phones EMMC chip is dead.
At my days i baked some dead graphic cards and get somewhat good results.
Can same thing work with EMMC chip on a phone?
If you never heard of it here a link.
https://www.instructables.com/id/How-to-repair-your-Graphics-Card-by-baking-it/
My original problem here if you are curious.Asus zenfone 6 E:failed to mount/ cache

I don't think a GPU is comparable to a EMMC chip. The GPU creates a lot of heat which can affect it's soldering (many cycles of heating and cooling). The EMMC chip however does not heat up that much because it is optimized for power saving. On the other hand if the phone is already dead what can you lose?

Usually eMMCs die because their E/P cycles limit is reached and semiconductor cells can no more be charged/discharged. That can no way be fixed by heat treatment.

How to fix your video graphics card - the mothers way! Lol, will try with broken GeForce 9 today :)

@alecxs Try only if you are going to get rid of the card. This has a very low chance to work and even if it works results are not permanent. Usually card dies  again after a couple months. Also this will make your oven smell bad.
I do not recommend doing this.

didn't work, some capacitors was exploding. i think it heated up too fast

@alecxs what was your oven degree? I did this with 200 C with no problem about exploding caps. Please don't tell me you used a microwawe.

lol of course not :D i did with 170 degree celsius for 10 minutes. no problem the card was 100% dead already before


text:
restore data from internal storage of android phone
I am struggelling with the file recovery of an internal storage of an android phone.
I made a dd copy of the /dev/sda device which includes the system and userdata and some other partitions of the phone.
bla@bla:/media/Volume$ mmls sda.raw
GUID Partition Table (EFI)
Offset Sector: 0
Units are in 4096-byte sectors

      Slot      Start        End          Length       Description
000:  Meta      0000000000   0000000000   0000000001   Safety Table
001:  -------   0000000000   0000000005   0000000006   Unallocated
002:  Meta      0000000001   0000000001   0000000001   GPT Header
003:  Meta      0000000002   0000000002   0000000001   Partition Table
004:  000       0000000006   0000000015   0000000010   padding0
005:  001       0000000016   0000016399   0000016384   recovery
006:  002       0000016400   0000032783   0000016384   boot
007:  003       0000032784   0001011727   0000978944   system
008:  004       0001011728   0001026063   0000014336   apppreload
009:  005       0001026064   0001041423   0000015360   cota
010:  006       0001041424   0015447055   0014405632   userdata
011:  007       0015447056   0015450106   0000003051   reserve0
012:  -------   0015450107   0015450111   0000000005   Unallocated

I am able to mount some partitions:
bla@bla:/media/Volume$ sudo fsstat -b 4096 -o 32784 sda.raw
FILE SYSTEM INFORMATION
--------------------------------------------
File System Type: Ext4
Volume Name: system
Volume ID: 7019a2b4b48a33b92c4409cbe0a229c7

Last Written at: 2020-05-28 21:04:07 (CEST)
Last Checked at: 2019-07-22 16:11:16 (CEST)

Last Mounted at: 2020-05-28 20:55:42 (CEST)
Unmounted properly
Last mounted on: /system

Source OS: Linux
Dynamic Structure
Compat Features: Journal, Ext Attributes, Resize Inode, Dir Index
InCompat Features: Filetype, Extents, Flexible Block Groups,
Read Only Compat Features: Sparse Super, Large File, Huge File, Extra Inode Size

Journal ID: 00
Journal Inode: 8

METADATA INFORMATION ...

But not the userdata partition. Are there any tricks I missed so far?
TestDisk 7.0, Data Recovery Utility, April 2015
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

Disk sda.raw - 63 GB / 58 GiB - CHS 7694 255 63
     Partition               Start        End    Size in sectors
>P MS Data                   262272    7971615    7709344 [system]
 P MS Data                  8093824    8208511     114688
 D MS Data                  8208512    8331391     122880
 D MS Data                  8331390  123576413  115245024

Outputs for userdata:
bla@bla:/media/Volume$ sudo fsstat -b 4096 -o 1041424 sda.raw
Cannot determine file system type

Thanks for any hints in advance!
Klaus

Android version? How file was deleted? May be userdata is encrypted? Why did you dump the whole flash storage and not only the userdata partition?

The most likely reason is the partition was encrypted. So without the encryption key (stored on-device) there's no chance to decrypt and thus no chance to mount. Read the answer on How does Marshmallow encryption work technically – and you will find the encryption key is stored in a way that makes retrieval close to impossible. If the device is still accessible, you might have a chance via TWRP custom recovery, if it still can decrypt userdata, to then tar the contents and investigate the tarball.

Android version is 9.+
The linked page dosen't tell me new things, I already read the articles but thx a lot!
I did a full backup, because the userdata partition alone didn't worked. - Maybe because of the encryption.
@Izzy I'll try it and let you know if I could restore something.

we recently discussed that it is impossible to recover a deleted file from FBE https://chat.stackexchange.com/transcript/108420


text:
When installing new ROM through fastboot, which .img files must be flashed, with what arguments, and in what order?
I own a Oneplus 7T, which runs Android 10 and therefore has no working TWRP to flash ROMs with. It's bootloader is unlocked and is rooted.
When installing a new ROM, whether it is a custom ROM or an update to the current ROM, I install them by extracting the ROM zip, extracting payload.bin, and flashing certain .img files in fastboot, following the instructions found here under the 'Manual Flash' section.
However, I'd like to understand more about this process. The instructions flash less .img files than were extracted. For example, in the recent Oneplus 7T OOS 10.0.11 update, the the number of .img files extracted (31) is less than what was flashed according to the instructions (19). Furthermore, the instructions passed the arguments --disable-verity when flashing two of the .imgs, but not the others.
Therefore, I'm wondering:

What does each .img file do?
Which files must be flashed and in what order?
Why are certain files flashed with certain arguments?

A brief description of commonly found partitions (but not all) can be found here: https://forum.xda-developers.com/android/general/info-android-device-partitions-basic-t3586565 // 2. Since fastboot stock ROMs are usually meant to fix bricked devices, they include all partitions, even those not getting frequent updates from OEM. Under normal circumstances you don't need to flash critical partitions like those related to SoC, modem, bootloaders, TEE etc. which may render your device unbootable if flashing goes wrong. // 3. --disable-verity disables dm-verity (Android's Verified Boot).

I own a OnePlus 7 and the same developer has answered a similar question in One Plus 7 device forums
Question

I just noticed, the script in bat file only flashes 25 .img files, but when I extracted payload.bin in OB2 I saw 32 .img files. Does this mean that the other .img files in payload are not needed? Or can I add the command in bat file to flash other images?

Answer

They can't be flashed using fastboot, that are the criticals partitions, they are needed and it's for that these fastboot roms can't be used to update or downgrade the software you have on your device, because the fastboot roms can't flash all partitions. This fastboot roms should be used if your system cannot be used and if you don't have access to TWRP

They need to be flashed in the order specified. All of them (see next point)
.img files replace the file on the device with the one in fastboot ROM, except for critical partitions
(I am not sure what these are for your device but could be boot loader, OTA, TEE, SoC etc) . This accounts for the difference in number (31 extracted but 19 only flashed). See Irfan's comment
--disable-verity is only applicable for vbmeta header files. For more details, see How to disable dm-verity on Android with "user" build type ROM? where the concept is well explained, in detail.

If your ROM developer does it, you can just
fastboot update rom.zip

Where rom.zip contains android-info.txt and at least boot, system, product, vendor, vbmeta, and dtbo img files.
If necessary, unzip and rezip creating an empty android-info.txt.
IMG files contain an exact replica of the partition which is copied exactly onto the device.

While it may have been a requirement before, for Android 10-based Google Pixel, only boot, system, and vendor were flashed.
extracting android-info.txt (0 MB) to RAM...
Checking 'product'                                 OKAY [  0.050s]
Setting current slot to 'b'                        OKAY [  0.447s]
extracting boot.img (29 MB) to disk... took 0.132s
archive does not contain 'boot.sig'
Sending 'boot_b' (29825 KB)                        OKAY [  0.801s]
Writing 'boot_b'                                   OKAY [  0.706s]
archive does not contain 'dtbo.img'
archive does not contain 'dt.img'
archive does not contain 'recovery.img'
archive does not contain 'vbmeta.img'
archive does not contain 'vbmeta_system.img'
archive does not contain 'super_empty.img'
archive does not contain 'boot_other.img'
archive does not contain 'odm.img'
archive does not contain 'product.img'
archive does not contain 'product_services.img'
extracting system.img (1949 MB) to disk... took 7.095s
archive does not contain 'system.sig'
Sending sparse 'system_b' 1/4 (524284 KB)          OKAY [ 13.063s]
Writing 'system_b'                                  OKAY [  4.652s]
Sending sparse 'system_b' 2/4 (524284 KB)          OKAY [ 13.006s]
Writing 'system_b'                                 OKAY [  4.006s]
Sending sparse 'system_b' 3/4 (524284 KB)          OKAY [ 13.052s]
Writing 'system_b'                                 OKAY [  4.255s]
Sending sparse 'system_b' 4/4 (423068 KB)          OKAY [ 10.459s]
Writing 'system_b'                                 OKAY [  3.348s]
extracting system_other.img (313 MB) to disk... took 1.306s
archive does not contain 'system.sig'
Sending 'system_a' (320532 KB)                     OKAY [  7.964s]
Writing 'system_a'                                 OKAY [  3.700s]
extracting vendor.img (259 MB) to disk... took 1.012s
archive does not contain 'vendor.sig'
Sending 'vendor_b' (265808 KB)                     OKAY [  6.615s]
Writing 'vendor_b'                                 OKAY [  2.748s]
archive does not contain 'vendor_other.img'
Rebooting                                          OKAY [  0.041s]


text:
Phone overheats after powering on
I've seen this with plenty of smartphones,usually after 1-2 years of use.The phone overheats for a minute or 2 before cooling down,but it's performance doesn't differ from a non-overheating phone that has been powered on.
Is this simply due to the natural wear and tear which causes a CPU overload for the first few minutes,or it it because of the failing/malfunctioning of a particular component in the phone/(which would in turn, adversely affect its battery life)

Well the boot process requires a lot of CPU power and if you have a lot of apps installed that start automatically after boot then this requires additional CPU power. And if your device is a bit "overpowered" (a CPU that creates way more heat as the device can release to the environment) then it may get hot. My advice: Limit the number of apps installed that start after boot (have BOOT_COMPLETED permission).

@beeshyams As far as I know changing BOOT_COMPLETED requires app repackaging. For most users (and a lot of apps) this is out of scope. Or is there a simpler way on newer devices I don't know.

I see some non root apps that claim to do this (not tested). Type "disable startup apps" in Play Store

App repackaging isn't necessarily required to disable BOOT_COMPLETED broadcast receiver. But root is mostly required: https://android.stackexchange.com/a/209345/218526

This is far too broad for any specific answers. In general, yes, batteries lose capacity over time and will degrade which can cause an array of problems depending if they manage to fry anything or are sending too much/not enough electricity at the given time, and etc. Machines and the wires and metal bits are also victim to wear just from natural usage and can cause most of the same issues. Manufacturer errors and design flaws are also potential issues, along with buggy code in the OS itself.


text:
How to disable system autocorrect?
Gboard has a toggle to disable/enable spellcheck completely, but using 3rd-party keyboards such as AnySoftKeyboard or SwiftKey shows this red-underline and suggestion-box that cannot be disabled.

The spellcheck is actually part of the Android system, not part of AnySoftKeyboard.
How can I disable spellcheck for the whole system? Or does the developer of the keyboard app always need to implement this feature?
In case it's relevant, I'm on Android 10, ColorOS 7.

Hi, it seems you accidentally created a duplicate account. Please refer to the help center to merge your accounts and regain ownership of the question.

On Android 8.0+:
Go to System -> Languages and Input -> Spell Checker -> Toggle use spell checker off
Depending on your device the location of that toggle may be different

unfortunately that setting is not there, and searching settings via searchbox turns up nothing, and i found nothing by manually searching settings.

@Keyboardbug I have little experience with ColorOS

@Keyboardbug have you tried https://m.youtube.com/watch?v=JJpcKQt5qEU


text:
How to Cast or Stream all Playback Audio from Android device to a desktop Pc
I have my Nokia 6 always next to my desk, and I'm using a desktop PC Windows 10 i7 64x
32gb ram and also running Voicemeeter, I use my desktop for everything, I can control all my devices from my desktop and I want to be able to listen any playback audio from my mobile device into my desktop audio system...
I don't need to cast the mic audio to my PC, just the playback audio
I'm not talking about streaming music either.
Anyone can help? Please thank you

AFAIK Windows 10 in it's newest release some days ago just got the feature to act as a Bluetooth A2DP sink (e.g pretend it is a Bluetooth headphone). Hence your phone would be able to send all audio signals to your desktop via Bluetooth. https://mspoweruser.com/a2dp-sink-feature-returns-to-windows-10/


text:
How can I disable the Complete account setup prompt in Google Play Store?
Every now and then when I want to install an app from the Play Store, Google has to remind me that I haven't finished setting up my account, at which point I can only press 'Continue', to be met with a payment option selection box:

Image taken from googleapis.com
I don't want to needlessly tie another account to my Google profile.
I know I can 'Skip' from that point onward, but it's uselessly annoying. Is there any way to disable this prompt (that is: to let Google know that whenever I want to buy something I'll find my way myself)?

The only way I know is to buy and redeem a gift code so that your account has some money on it. The lowest amount seems to be a 10 USD code e.g. bought via PayPal. Adding a credit card would also work of course. I am still looking into testing what happens if you add a credit card that expires some days later...

@Robert, good idea. And on that note, adding a bogus PayPal account might also work..

Is the sign always popping up or does it not appear again when u skip once?
Other, just make a paypal acc and link it without actually purchasing anything. If I recall correctly u dont even need a credit card


text:
Connecting USB Type C Flash Drive to Samsung Galaxy S9
Just bought the Kingston 64 GB DataTraveler microDuo 3C flash drive. The drive has both USB Type C and USB 3.1 port.
I tried connecting the drive directly via USB Type C port but it did not list the external storage. However when using the Samsung OTG it did recognize the drive.
The drive with dual port seems point less if the phone doesn't recognize the drive without OTG. Is this limited to only Samsung phones? Are there ways to connect the drive directly without the OTG? I have seen couple of videos on YouTube which reviewed the drive by connecting to phones without OTG. Thanks.

It should work. May be the Samsung does not recognize the filesystem the stick is formatted with (may be it is ExFAT formatted)? Use a PC and try FAT32 format just to test if it works.

It's very much possible as [shown here](Kingston 64 GB DataTraveler microDuo 3C flash drive) so it's likely format issue as suggested by @Robert. Try to reverse the direction of USB adapter and see (though it shouldn't matter)

Thanks both. As @Robert mentioned, it needs to be formatted to FAT32 for Samsung to recoginze the drive.


text:
Add am/pm after the 12-hour clock time in the status bar
The status bar at the top of my Samsung S9+ does not show the am/pm after the time.  The picture below was taken at 3:23 pm local time but you would not know that unless I told you.  It could be 3:23 am.  If I were using a 24-hour clock, I would expect that there not be an am/pm.  However, my time setting is for 12-hour clock and could have an am/pm.  How do I add the am/pm after the time?

Some may say that I can easily tell whether it is am or pm... just look outside.  That may be true at 3:23 am or pm.  However, at 8 pm during the summer time, the sunlight is about the same whether it is morning or evening.  I would have to walk outside to find the sun and then know.  During the winter time, 6 am and pm is completely dark.  There is no sun to help me know.
Let's say I am very tired during the winter and start a nap at 4 pm.  I wake up at 6.  I do not know if I slept for 2 hours or 14 hours.  Most likely I slept for 2 hours but it depends on how much sleep debt I have.

I disagree with the other answer that the objective is impossible on devices running a stock ROM, and that it cannot be achieved without root access.
For Samsung devices, Good Lock (available in Galaxy Store), an app from Samsung made available only in few countries, can do what you want. It runs on stock Galaxy devices  and does not need root access. Here's what to do. Download Good Lock from the linked app store. Run Quickstar from the menu.
It is reasonably easy to follow it. If you are unable to follow it, then search Youtube for Good Lock. It should help out.
My experience with Sony devices I have ever had concludes that Sony devices don't support the feature you are after. I can't speak for other brands.

Hello Roberts. My fellows mod's well meant edit to your answer perhaps caused some issue to you. I can assure you that it was made in good faith, and so is mine. We are a community of Android users who help each other out not just by asking and answering, but by also editing posts to make them more clear, concise, and to the point. This distinguishes us from the forums out there in terms of quality and approach. Please don't feel bad about edits. We actually have a policy encouraging everyone to make edits. :)

It is possible only if your device is rooted and cannot be achieved on stock devices. Changes to status bar components like the clock, date, battery icon, percentage, etc. require root or a custom ROM
On rooted devices, one way is to install Exposed/EdXposed framework and Gravitybox module (For Android 10, see How to install EdXposed on Android 10 without triggering safety net)
Note that Gravitybox does not play well with heavily modified UI, so it's better to check in device/Gravitybox threads on XDA


text:
How to force SELinux to permissive even when setenforce 0 is not working and kernel was 100% permissive when flashed?
I don't know what to do, I'm using Samsung Note 3 (Exynos) - N900 with custom Resurrection Remix 5.8.5 ROM (Android 7.1.2) with it's own permissive kernel and rooted with Magisk. Yesterday it turned to enforcing status, then SPenCommand stopped working. And when I tried to setenforce 0 in terminal, it gave me error: invalid argument. I don't want to flash phone again, backup takes a lot of time, as well as restoring, because I have very old PC and I flashed it on friend's laptop who is now 50 miles away and won't come just because of this (my computer still uses USB 1.1 interface - I know it's garbage but its working for 15 years stable. Any suggestions how to do it on phone itself, would be helpful. Please help me somebody :)

You can try this app https://forum.xda-developers.com/showthread.php?t=2524485

My answers here and here explain why setenforce 0 may not work. The only reason I know is the extra security Samsung (and some other OEMs) uses in their kernel configuration. Check your kernel configuration to make sure.


text:
SUPolicy to allow custom service to read and write from Internal Storage
I'm setting up custom service with custom sepolicy using this as a base:
How to fix SELinux "avc: denied" errors when launching DNSCrypt as init.d script?
In 99% I follow the quick summary from link 1:1 except some small, irrelevant differences like naming, paths, etc. My issue is that now I want config and log files to be read and written (respectively) from the internal storage /sdcard aka /storage/self/primary
Custom sepolicy looks like this
supolicy --live 'allow init my_service process *'
supolicy --live 'allow my_service my_service * *'
supolicy --live 'allow my_service node tcp_socket { node_bind }'
supolicy --live 'allow my_service node udp_socket { node_bind }'
supolicy --live 'allow my_service port tcp_socket { name_bind name_connect }'
supolicy --live 'allow my_service port udp_socket { name_bind }'
supolicy --live 'allow my_service proc_net file { open read }'
supolicy --live 'allow my_service proc_stat file { read }'
supolicy --live 'allow my_service properties_device dir { read }'
supolicy --live 'allow my_service devpts chr_file { open read write }'

dmesg shows me permission denials for
avc: denied { search} [...] scontext=u:r:my_service:s0 tcontext=u:object_r:storage_file:s0 tclass=dir
How can I update current custom policy I load on boot via:
exec u:r:magisk:s0 root root -- /system/bin/load_policy /system/etc/selinux/sepolicy
with new additions? And how would I specify storage_file? Does this object covers whole internal sd memory access or I somehow need to specify path?
UPD:
I collected all selinux denials and allowed them and now I'm in the clear in terms of selinux permissions. Still, I dont have access to storage, process reports error:
[FATAL] open /data/media/0/config/my_config.cfg Permission denied
which makes no sense to me. chown for the file is root/everybody and chmod is 660

Comments are not for extended discussion; this conversation has been moved to chat.


text:
SP Flash Tool Windows 10
I am unable to run the flash tool. Says the following dll files are missing although they are shown in the unzipped file. Flashtoollib.dll   FlashtoolllibEx.dll  QtWebKit4.dll  SLA_Challenge.dll  I am running Windows 10  I have tried downloading the flash tool file a few times but get the same messages. Can anyone help please?

maybe it's a typo but to me it looks like you did not even know the difference between file and folder. are you sure you unzipped files?

Yes, all unzipped.


text:
Using personal keyboard in work profile (Shelter) on Android 10
I am using Shelter to create an isolated space for apps which I don't trust very much and to disable them when I am not using. Shelter works by creating a work profile in Android and registering itself as the administrator, thus granting it rights to disable apps.
This has been working great in my Android 8 phone, but I recently got a new phone which comes with Android 10, and unfortunately it looks like I can no longer share the same keyboard in work profile apps. This is important to me because I use KeePass2Android
to store my passwords and it provides a virtual keyboard to automatically input credentials into any text field.
Is there any way to get back the old functionality and be able to use personal keyboards in work apps?

@beeshyams Shelter directly provides the option to install personal apps into the work profile, so I can use that, but it is a last resort since I would have to maintain two apps... not ideal :)

Related: https://github.com/PeterCxy/Shelter/issues/10 KeePass2Android does have the ability to cloud sync the database file, https://github.com/PhilippC/keepass2android/blob/master/docs/Documentation.md#opening-an-existing-database

@MorrisonChang The GitHub issue is slighty related, the user is trying to isolate the keyboard to a certain profile, which is the opposite of what I am trying to do :)

I just ran into the same issue: On Android 9 everything was great but now I have two separate keyboards, two sets of settings and six different dictionaries (for three languages each…). It really is beyond me how anyone could think this separation would be a good idea in 100% of the cases (i.e. without being able to switch it off).

@balu Indeed, I agree with you, there should have been an option to disable keyboard separation, it could be similar to the "one-lock" option we already have for the work profile.

Did you find any solution?

@ZeshanMunir No, I did not find any solution. I'm still using the only other viable alternative, which is to copy the data to clipboard.

@TheDcoder Gotcha! I am using Microsoft Swift Keyboard in both personal and work profiles and have same login in the keyboard, that syncs some of the stuff (no clipboard sharing though). Other alternative is to use Gboard and that has internal sync enabled across both profiles.

@ZeshanMunir How is Gboard able to do that? If it can do that, maybe other keyboards can too. Thanks for sharing.

@TheDcoder On Android 13, Settings -> Apps -> Special App Access -> Connected Work & Personal Apps -> Choose App i.e. Gboard -> Enabled Connected Switch. That will enable the sync between both keyboards (also available for other apps i.e. Android Auto etc.)

@ZeshanMunir Holy crap... it might work for other keyboards too then!

I tried with SwiftKeyboard and it said "blocked by admin". Would you accept the above comment as answer?

@ZeshanMunir I have to try it first. "blocked by admin" could either mean the work profile owner or the device owner app itself. There are apps like Hail which can suspend apps in the main profile if you assign them as the device owner via ADB.

@TheDcoder I am almost certain that "blocked by admin" is actually blocked by Sheltor. Let me know what works best for you, I am going to post it as answer, we can discuss on that there.

@ZeshanMunir Thanks, I will try it soon and give you an update.

Here's how I got it working on Android 13:
Settings -> Apps -> Special App Access -> Connected Work & Personal Apps -> Choose App i.e. Gboard -> Enabled Connected Switch. That will enable the sync between both keyboards (also available for other apps i.e. Android Auto etc.)

Please note, I tried with SwiftKeyboard and it said "blocked by admin", I am almost certain that Shelter has some weird policy that is stopping it.
So as of now it works well with Gboard. Good luck!

Actually this can be done. In shelter in work profile tap "SwiftKey keyboard" and check "allow cross platform interaction" then go android settings > apps > special access > connected work and personal apps > chose SwiftKey > Enable connected switch.

@PatrykB What's the Shelter App's version where you have seen that option? I got Shelter v1.8 via F-Droid and that is latest there, I don't see this option in this version.

Install your keyboard by cloning it into Shelter or by installing it through an App Store that is installed / cloned into Shelter.
After that, you can activate your keyboard in Settings > System > Languages and input > On-screen keyboard > Work.
The reason why Android enforces a separation on the keyboard is simple: Third party keyboards also grab data. If you choose to use a third-party keyboard, it should not be able to combine your data. Shelters goal is the strict split between your data to provide isolation and thus more privacy.
EDIT: This will not include data sharing which you're apparently after. It wasn't clear to me before you replied to me. If it's just about getting the "same keyboard" (in "same APK" without data sharing), this is the right approach.
An alternate solution for your problem with KeePass
I had the same problem, here is how I solved it:
I've setup Syncthing on all my profiles and my PC (should work with Shelter as well) and let all profiles sync a KeePass database. Use the Syncthing-Fork from F-Droid in particular, it offers better diagnostic capabilities. Alternatively, use another Cloud provider if privacy is not a concern.
I use KeePassDX from F-Droid on all my profiles. It allows to open a local KeyPass database and supports quick unlock with a PIN. It works well between profiles.
Good part about this solution is that your KeePass database is synced between two devices. It works with multiple Android user profiles and should also work with Shelter.
If this doesn't suit you, there is only the old copy paste between your KeePass app and the isolated Shelter app, because the clipboard is shared between both profiles.

This does not answer the question, I am aware that you can simply clone the keyboard and enable it there, but as you mentioned there is data separation, which is what I'm trying to avoid. In other words, I want to use the same 3rd-party keyboard even in the work profile and I don't care about isolation in that case because I trust the keyboard.

@TheDcoder Your question was a bit unclear to me then. "same keyboard" can also be interpreted as same APK, which would exclude data. I found your question, because I just wanted to know how to get the same keyboard without data sharing, found a solution and shared it trying to help. Maybe you could update your question to better reflect what your main goal is. Thanks for the downvote.


text:
How do I change the Battery Percentage that corresponds to a Voltage in Android
My original Li-ion has 3000 mAh capacity. I've modded my device to have a total of 7000 mAh capacity now.
The enhanced capacity means that my percentage is not displayed accurately anymore.
About 2000 mAh charge displays 75% charge. That means 5000 mAh are located in the top 25% of my battery indicator.
(Charging times confirm: 1 Hour @1800 mA goes from 25% to 75%, but 75 to 83 takes almost the same time and so on.)
I know a lot is possible with a rooted Android device but I'm not too much of a software person.
How can I change the percentages that display? There has to be some kind of lookup table where the Vbatt→"%" conversion is done.
Edit: If no one can help me, I am going to add a bunch of tp4056 chips to enable actually charging.
The software seems to mess around quite a bit.
Now my phone is charging the 2nd time, and (I assume because it is calculated that the battery should be “full” by now in terms of mAh) it has reached “100%” despite the Vbatt being 3.95 Volts. Actual charge is ~ 70% at max!
Here you can see it charged more than 2000 mAh after reaching “100%”. I stopped the charge at 4.2 V.

The lower portion reached 75% after 1000mAh and took 900 more for the rest. So this has lost all it's 'linearity'.
Can I (additionally to changing the display behavior) also change the charging algorithm?
Do I have to compile a kernel by myself? Is there settings for this? I want higher current first and very low current for the charging above 4.1 V.

Let's look at the challenges you would face in achieving correct reading, rooting is not a magic key that let's you do everything easily:

The battery capacity (mAh) is coded in two places - the ROM and kernel (see Where are the battery capacity files located?) Only OEM would know from where the values are picked up, so you would need to have a custom ROM and kernel that stores this higher value. You would need to do this own and this is definitely not a trivial effort. ROM "chefs" wouldn't be interested in this (not appealing or in demand). You say you aren't a software person, so it's safe to discard this path.
The charging algorithm is also proprietary and not open source given the competition ( I can  charge from xx to yy% in so many minutes is the sales pitch). So that's your next huge challenge since the charger, charging cable and the device need to be in sync with the algorithm. Impossible for you to replicate. See the charging algorithm
(Source
) of an Anker power bank to get a sense of how challenging it would be to figure out on your own.
Charging incorrectly is going to damage your new battery and the purpose of acquiring it is partly defeated. This would be the result since you aren't easily going to achieve the first two points.

It is for these and probably more reasons that third party sellers who provide extended batteries do not attempt to show the correct percentage. Read the reviews of any such product and you will find complaints around this
What you can do

Use a battery bank of desired capacity.
Experiment at various charging speeds and arrive at a rough correlation between shown and actual voltages.
Rig up hardware based system as you suggested in your question (off-topic on this site)

Lazy possibility: make your own app which displays correct battery percentage

I think there is a guode out there to compile Lineage OS including the kernel. Given that I find the place where I can edit the capacity, that'd be a good start. For the charging algorithm, as far as I monitored my charging, that seems pretty straightforward. Charge slowly between 3.7 and 3.8 V, then full force 2500 mA while monitorimg temperature. Above 4.1 V slowing down drastically to squeeze the last Amp-hour into the Battery.

As it seems, Samsung, by default does only switch the charging from constant current to constant voltage at 4.35 V. I definetly don't wish to go this brutal on my battery and keep a modest standard 4.2 Volts, maybe 4.25... Wish me luck with the kernel, I will start tomorrow

Good luck and do come back to post your own answer here (it's allowed and appreciated). Some Samsung devices, have an option of disabling fast charge. If your device has that, than the charging process should be relatively simple compared to Quick Charge//switching to constant voltage at even lower %will help (Google Battery University and read up many articles there)

See this question for some useful pointers and on ACC app too

The go-to for my case would be not to edit voltages, but to change battery capacity in the system.
The device needs to be rooted in order to access and edit
/etc/floating_feature.xml .
This contains a section containing the capacity in mAh which can be edited to the desired amount (in my case 6500 mAh).
This is from a post by user Yamaha169 on XDA forums.
(https://forum.xda-developers.com/s7-edge/help/mod-aftermarket-misreading-battery-t3510597/amp/)


text:
Nexus 6P stuck on bootloop after rooting
So today I bought a used Nexus 6P for the purpose of installing Kali Nethunter on it, and then after some searching I found out that I should root the device first.
So I followed this guide using SuperSU, I installed the SuperSU from this website, the phone then hung on the Google logo for like 30 minutes, then I found out that the SuperSU project is dead.
I said ok maybe because it's an older phone the root should work and then I entered recovery mode through TWRP and went to the terminal and I saw the # sign and to maker sure I ran the command whoami and it gave me root, and then I read that if I'm stuck in a bootloop I should reflash the ROM that I already have installed, but I said it wouldn't make a difference if I flashed Nethunter, it's a new ROM anyway, and now it's been stuck on the Google logo for another 30 minutes.

I found a solution to this which is flashing the stock ROM using the adb/fastboot tools, but I used an older version because the latest one didn't work for some reason and I followed the guide on google's website hope that'll help someone. :)


text:
how to upgrade operating system of micromax E311 device for a novice user
I have Micromax E311 phone.
For some reason the settings of phone have become unreachable. So on the display I see com.android.settings. Setting icon with a mechanical gear on it but when I tap it then I get a pop up

Unfortunately, Settings has stopped.

I clicked Ok.
Then again the same message pops up within a fraction of second this keeps happening then I restart the phone somehow and if I touch settings then same thing happens. If I don't touch the setting's icon, there is no problem I can keep using the phone.
So I am not sure what is the OS in this phone. My guess is that it has been formatted to the factory settings, so it's having Android 4.4.2. I read many tutorials about rooting the phone and installing custom ROM on it. Like

After rooting an Android phone, you can switch the operating system
  ROM whenever you want. The rooting process removes the preinstalled
  operating system on the Android phone, replacing it with a rooted
  Android OS.

as given on https://smallbusiness.chron.com/change-roms-rooted-android-30006.html
How to root any device
https://www.xda-developers.com/root/
How to install custom rom
https://www.xda-developers.com/how-to-install-custom-rom-android/
For my device flash rom
https://www.gogorapid.com/flash-stock-rom-on-micromax-e311/
What I am confused with is to upgrade my device OS to android 10, first I should replace the ROM and then do "something"  as mentioned on lot of forums or what exactly I should to to upgrade the OS of my phone.
I am very confused with all the tutorials available on internet.
I want to know simple steps in bullet points like

Step 1 change ROM
Step 2 change this
Step 3 change that
Step 4 boot phone.

Meaning such a guideline will help me when I read tutorials, and I was getting confused with them.I am not sure if with android 4 OS I can directly upgrade to some thing like android 9 or so.

You are confused because you are reading generic tutorials and background articles. On Android however every device is special, hence unless you have a tutorial that is specific for your device the tutorial is useless.

The first step is to find a custom ROM based on Android 10 that is made specifically for Micromax E311, which doesn't look like there is. The latest Android version that I could find is Android 6.0 Marshmallow, which doesn't look stable either. Browse XDA Forum for this specific model for more information.

actually the model I fear is not Nitro. I have lost access to settings some how before that I had rooted the phone, so if I can know exactly which model number or OS this phone is running some how by connecting with USB cable with a laptop, I will explore more but I do not know how. Thanks for your XDA forum link I will post in it I was not able to search that forum device specific. Well as I am a novice user and do not have much post count so I can not post in that link you gave. That is developer forum so they locked it for spamming by non technical posts.

ok I have posted the question here on XDA users. I posted the link so that if some one else comes here they may see that link. However mostly my questions never get any response on XDA forum.


text:
Huge difference in transfer speeds when using separate directories for transfer
I was transferring around 12k images (total size around 2 GBs) from my laptop running Windows 10 1909 to my Android phone via USB. Initially, it was around 5-6 images copying per second and soon after around 500 images speed began to drop and reached more than 5 seconds per image. I tried copying them in batches of 500 images but that was no better. It was like the more the number of files in a directory the slower it is to add more to it.
Then what I did is make separate folders in the same directory and copy only about 500 images at a time to each. This way I got speeds of 5-6 images per second similar to what I was getting initially when I was transferring them all at once to a single directory. Later, I simply moved the images out of those folders using native file manager in my phone, which was almost instantaneous.
Why is that speed was decreasing exponentially when I was copying all files to the same directory?

If you say transfer via USB I assume you mean via MTP protocol. Unfortunately MTP is not a very stable protocol (well it has been developer by Microsoft do I have to say more). Therefore I would recommend not to use MTP if you want to transfer more than 100 files. Alternatively you can ZIP them without compression and extract them on device so you have to upload only 1 file. Or enable ADB in developer options and use ADB push to upload the files via USB.

Could you please edit your question and include details about the PC (OS, version, ..) you used for uploading the files? If the MTP implementation was the cause then it might be interesting for other users that use the same OS how you managed to seep-up the upload process.

I have added the OS version for reference


text:
Error while running an emulator
=== About ===
Build version: Android Studio 3.6.2 Build #AI-192.7142.36.36.6308749 March 19, 2020
Java version: 1.8.0_212-release-1586-b4-5784211amd64
Operating System: Linux (5.4.0-31-generic, amd64)
JVM version: OpenJDK 64-Bit Server VM JetBrains s.r.o
Event Log :
31/5/20
7:37 AM * daemon not running; starting now at tcp:5037

7:37 AM * daemon started successfully

7:38 AM Gradle sync started

7:38 AM Gradle sync finished in 5 s 456 ms (from cached state)

7:38 AM Executing tasks: [:app:assembleDebug] in project /home/adeshchoudhar/AndroidStudioProjects/HigherOrderFunctionalities

7:38 AM Emulator: E0531 07:38:29.247262716   10618 socket_utils_common_posix.cc:201] check for SO_REUSEPORT: {"created":"@1590890909.247245520","description":"SO_REUSEPORT unavailable on compiling system","file":"/mnt/tmpfs/src/android/emu-master-dev/external/grpc/src/core/lib/iomgr/socket_utils_common_posix.cc","file_line":169}

7:40 AM Gradle build finished in 1 m 52 s 648 ms

7:41 AM Install successfully finished in 37 s 891 ms.

I have 8GB ram, and I know the emulator is quite heavy to load, so it is slow. But it was working fine, however while working I messed up something and ended up in this error message.
7:38 AM Emulator: E0531 07:38:29.247262716   10618 socket_utils_common_posix.cc:201] check for SO_REUSEPORT: {"created":"@1590890909.247245520","description":"SO_REUSEPORT unavailable on compiling system","file":"/mnt/tmpfs/src/android/emu-master-dev/external/grpc/src/core/lib/iomgr/socket_utils_common_posix.cc","file_line":169}

The emulator is now also working fine. But sometimes, my system hangs. I have to wait for to everything run smoothly and also there is a problem in closing the emulator. My questions are:
1. (top priority) How to resolve the above error / what is the reason / what is the meaning of the error?
2. Emulator hangs the system and does not get shut down or closed quickly, is this normal?
3. What does the size on the disk in the AVD manager means? Is it ram which is taken or just memory?
4. How to optimise the speed of emulator? How to properly use it from start to end?
I know I'm asking more questions, but they are linked, as long as I think, so please contribute.
Any help would be appreciable, your contribution will help me a lot to learn.
Please comment and help me, if you know anything regarding my questions.

You must make sure to enable 'Virtualization' in your system in bios setup.

@AbdullahKhanNiazi It is enabled already. Can you help more?


text:
Finding the microphone settings on Android One 10
My headset microphone has stopped working recently, and I would like to have a look in the microphone settings to fix the issue. However, I cannot find any setting related to the microphone volume, noise filters, etc. (such as described in point 1 here) in the settings app.
Where could I find the related settings? I cannot imagine that there are no microphone settings, but if this is the case, could there be an app that would give me more control?
I am using Android One 10 on a Nokia 6.2.

@beeshyams Thanks! From what I can see, however, the apps are made for testing, not for changing the global settings. For example, I may want to change the audio source from the headset to the built-in microphone, if I cannot fix the issue on time.

This app may help. Mic settings which you are looking for don't show up for me on Android 10, may have been dropped

@beeshyams This is an interesting app. However, searching vor "mic", "call" or "call" yielded no results.

Yes, like I said, nothing on my device but was wondering if it would help. Conclusion - that setting has been dropped


text:
Google Photos--disable grouping photos by day
The Google Photos App for Android groups photos by day. However, this feature becomes a problem when taking photos only occasionally. Only one photo per row is displayed, most of the time (see screenshot).
Zooming out makes the app group by month, however the pictures appear much smaller then.
Question: Is There a way to disable grouping and just display the same amout of pictures per row?
There are lots of alternative gallery apps. However, only Google Photos can be used to view the gallery without downloading the images, as far as I'm aware.

Only synchronization options are available to us, users. As additional options you can enable grouping photos by faces and adding photos/videos from Google Disk to the gallery. No "turn off the date grouping notion" available. The only way to change the order is to edit the photo itself - this way, the files would be organized according to edit date


text:
Changing User Agent in Chromium browsers on Android
Is it possible to change Chrome, Bromite or Brave browser user agent? I am on Android 10 AOSP rom. Rooted device.
It can be done easily on Android Firefox or Kiwi browser with addons and extensions. But what about the chromium browsers which dont support extension.

Hello. What are you trying to accomplish by changing user-agent?


text:
SafetyNet vs MagiskHide: what's the status now in mid 2020?
As widely reported on different sites, and also discussed on this site (here and here), earlier this year, Google made changes to SafetyNet so that it could detect bootloader/verified boot status even with MagiskHide enabled. The developer of Magisk, John Wu, at that time tweeted that because Google was using the Trusted Execution Environment (TEE), its check on bootloader status could not be defeated. For example, he wrote:

this new update utilizes hardware-based key attestation. It will send an unmodified keystore certificate to SafetyNet servers, verify its legitimacy, and check certificate extension data to know whether your device have verified boot enabled (bootloader status)
Unless there is serious implementation bugs in your ARM TrustZone (or security co-processor like Google's Titan M), you cannot break the cryptography.

He basically concluded:

Let's face it. Fun is over guys.

Yet, on March 14, John Wu tweeted:

So apparently CTS is just passing again out of nowhere? Maybe Google is still testing things out?
I'm over it anyways. Google is apparently willing to use key attestation for detection. Since MagiskHide is still there, people can still always use it as usual.

And another tweet from him on April 3 that I didn't quite understand:

THE BIG GOOGLE HAMMER IS BACK!
Say bye bye to SafetyNet, we'll (not) miss you...

Did that mean Google would somehow be removing SafetyNet, or at least not utilizing its capabilities to detect bootloader status?
So there was some doubt beginning to surface in mid March. In my own test in late May 2020, with MagiskHide not enabled, SafetyNet failed, but with MagiskHide enabled and targetting my test app, SafetyNet passed, meaning that MagishHide could still defeat SafetyNet. The test was run on a Pixel 3 with android 10.
So, Google may have the capability to detect MagiskHide, and it was working out in the field with real devices, but they have somehow stopped doing that? Does anyone know what is going on with SafetyNet? Was the feature temporarily reverted? Will it be coming back to SafetyNet, and if so, when?

It is subjective (related to device and OS), nothing can be said with any certainty. See various forums on XDA and your answer depends on what you read

Hmm, I wonder if there are any indications about what Google is thinking? Or is it just people speculating about what Google is doing?

it's all speculation - no one knows

Thanks, hopefully if somebody knows, they could help to write an answer here.

How SafetyNet works internally, what parts are (and will be) enabled/disabled plus what code is used in the future can only be answered by the Google engineers that develop SafetyNet. As most likely writing such internal information into a public system like Stackexchange violates the company rules I would not expect an answer. And other answers from non-Google folks are just personal opinions.

Does this answer your question? Magisk will fail Safety-Net hereafter. Why?

@jkmartindale Thanks, but I've already referenced that question, which was asked earlier, when it was assumed that magisk would fail SafetyNet checks "hereafter". However, since mid March, the situation has changed, and that's what I'm asking about.

@Robert Thanks, good point, but I'm thinking if we don't ask, we wouldn't know. Maybe some developer advocate from Google, for example, may be perfectly happy to answer such questions on public forums, if the reasons are not confidential and they want to get more people using SafetyNet, etc.? Or maybe Google did announce something related to this but some of us missed it, then hopefully somebody else who knows about it might point us to such an announcement.

(29 June 2020) It looks like Google is just being cautious, and preparing a new field in the SafetyNet response.
According to the SafetyNet API Clients Team

We have started rolling out a new feature that will provide developers with insight into the types of signals/measurements that have contributed to each individual SafetyNet Attestation API response.
Our JWS responses now have a new optional field named evaluationType.
The value of this field will be a list of comma-separated string tokens, where each token represents an enum-like value.
Currently, the following string tokens may be indicated::

BASIC  - When we use typical signals and measurements along with reference data during our evaluation.
HARDWARE_BACKED - When we use the available hardware-backed security features of the remote device (e.g. hardware-backed key attestation) to influence our evaluation.

Examples of field values that you may expect:

{“evaluationType”: “BASIC”}
{“evaluationType”: “BASIC,HARDWARE_BACKED”}

We’re currently evaluating and adjusting the eligibility criteria for devices where we will rely on hardware-backed security features. So please do not use the presence or value of this field as a signal by itself (for now).
Note that this feature has not been officially documented yet. Presently, we’re only communicating it to this announcement-list to collect feedback.
We encourage you to use our feedback form based on your experience with this new feature as well as the overall service.
Thanks & Regards,
SafetyNet API Clients team

So once testing for this new feature is completed, it looks like hardware-backed key attestation will be put in place. Which means, from then on, SafetyNet would be able to detect bootloader/verified boot status even with MagiskHide enabled.
John Wu is still fighting back
(updated on 29 June 2020)
John Wu is trying to persuade Google to not blindly apply SafetyNet hardware-backed attestation across the board. He tweeted:

I advocate
@AndroidDev
to restrict hardware-backed SafetyNet evaluation to "real" security sensitive apps. Developers should go through an application process to qualify this level of API access. It is ridiculous for McDonalds to refuse to run on a bootloader unlocked device.

Meanwhile, it appears that the SafetyNet checks will still fail even if the bootloader is re-locked, as we see here, tweeted 3 July 2020

Bad news: it is confirmed that for those who wants to re-lock their bootloader with self signed images (possible on Pixel devices), SafetyNet with HARDWARE-BACKED evaluation will still NOT pass CTS check.

(Updated on 13 Dec 2020) John Wu now tweets

Let me get this out of the way: since I have a full time job now, I don't have much time for Magisk; I need prioritization. HW based evaluation is impractical to "hack" (except tricks to make it fallback to basic), and I lost all interest in improving the current way of hiding.

@beeshyams Thanks, I had already posted this URL https://groups.google.com/forum/#!topic/safetynet-api-clients/lpDXBNeV7Fg earlier today, so it is clear what is happening.

@beeshyams Anyway, it is good to know ; so more apps may be using SafetyNet in the future. Do you think that would be "better" alternatives for rooting in that case?

I feel it is for the better. Make a choice - you want root or secure apps. You can't have both //Better alternatives are possible, we had many before Su, root kit apps and now Magisk. Once John Wu quits development, one may find new methods. I feel Magisk is the best we ever had and likely to be in a while. For me, I will put off upgrading to 11 till the picture is clear (I don't need any SafetyNet) but use banking apps that don't like root. If root can be hidden as John says, I am good :)

@beeshyams Or one phone for root, one for banking/secure apps :-). Yes, I agree with you, Magisk was very skillfully done.


text:
Samsung Fold, Settings screen items looks strange
I've recently updated the Galaxy Fold to Android 10, OneUI2.1.
On the outer screen the setting items looks really strange:

I think those switches need to be in one line with the title and subtext items. This screen is small, but I think before the last update it was working fine.
This is the good way (screenshot is taken from another Galaxy /not Fold/ phone):

Can I do something to fix this beyond waiting for Samsung to fix this in some future release?
According to @MarianD, I have changed the font size to the smallest available:

Here is how it looks like (nothing is changed, except the font size):

All you have to do is to select the smaller font size in Settings.

Please see my updated question. Changing font size does not solve this unfortunately.

Nor in the landscape orientation?

Outer screen is not supporting landscape mode. When I try using the rotate function there is a toast: "Can't use Auto rotate because the screen doesn't support landscape mode."

But it looks good on the inner (large) screen.


text:
Nexus 7 (2012 Wifi) Custom kernel bootloop
I trying to build custom kernel for my Nexus 7 (2012 Wifi) device.
Changed few things builded successfull, no bootloop. But I enable this in menuconfig:
Device Drivers -> Network device support -> Wireless LAN -> Ralink driver support.
After flashing got bootloop.
How can i get some log about a problem?

Some devices can output the kernel boot log using a special adapter that uses the 3.5mm audio port. Not sure about your Nexus 7.

I was referring such a cable: serial console which can be accessed through the headset socket

Build with module it was a working path.


text:
Is deleting /system/bin/dex2oat file safe?
I was looking into a couple of Android tombstones files of an old Samsung phone running Marshmallow. Found a crash in every single one with the same culprit, dex2oat.
From my limited understanding it is a Compiler that takes arguments from Android Runtime and convert dex files to  Android optimised ones in oat format.
I ran into the same issue even if I factory reset or freezing a lot of apps. I have this device rooted and decided to take a risky step. I backed up first and deleted dex2oat from /system/bin. Then I rebooted system with risk of bricking it.
So far it is working fine.
Due my lack of understanding I don't know how crucial is this dex2oat to system stability and I want to know what is the impact on it.

ART also runs in dex interpreter or JIT compiler modes. So AOT Compilation isn't necessarily required but may impact the performance. Also the processes (like installd) involved with dex2oat binary may break if binary is missing e.g. on a new app install or on profile update of previously installed apps.

Runtime is an environment in which programs written in a specific language run. Android Runtime (ART) is Java-like runtime which runs Dalvik Executable (DEX) bytecode (from apk files) in a Virtual Machine. Like other Runtime Environments ART can run the code in three different modes:

Interpretation
Just-in-Time (JIT) compilation
Ahead of Time (AOT) compilation

In order to improve performance, JIT and AOT compilers translate DEX bytecode (during or before execution respectively) into native machine language. JIT compiler was part of DVM, readded to ART in Android 7. Since then AOT compiler also supports profile-guided background compilation. App profiles are created during JIT compiled executions.
While interpreter is part of ART libraries, dex2oat tool is used as JIT and AOT compiler. Documentation states:

At install time, ART compiles apps using the on-device dex2oat tool. This utility accepts DEX files as input and generates a compiled app executable for the target device.

And here:

JIT and AOT use the same compiler with a similar set of optimizations

On your Marshmallow ROM AOT compilation won't work in the absence of dex2oat which may adversely affect the apps performance. Also the installd native service and PackageManager Java service rely on dex2oat during app installation or profile update of previously installed apps. So they may break due to missing file.
To summarize, installd or dex2oat crashes are serious bugs in your ROM which need to be fixed. Deleting dex2oat binary isn't a solution but a workaround which is very likely to fail.

RELATED:

What is needed to run ELF binaries compiled from android APKs?


text:
What if one application couldn't write incoming voice?
I tried a call recorder on my  Android 7.1.2 phone, but only my voice was recorded, not those on the other side.
Does it mean that my phone doesn't support something or should I try to find an application that may work?

I was able to find an application that works properly (Call recorder for Android version 25 from f-droid.org).


text:
Bypassing account verification on a Nook BNTV450
I recently bought a Nook BNTV450 from someone on Ebay, to replace a like model that I used for years until it was damaged in a fall.  I got stymied early in the setup by the message "This device was reset. To continue, sign in with a Google Account that was previously synced on this device."
I reported this to the seller, who simply apologized and offered a refund.  Probably I should just give up and buy a newer model Nook, but I really liked my old device, and this is also my third attempt at replacing it (don't ask) and I hate to admit total defeat.
First, I contacted two separate chat support people via the Barnes and Noble web site, who both told me to do a factory reset from the recovery menu.  That didn't work, of course.  Then I called and spoke to a real person, who just flatly told me it was impossible to use the device without the previous owner logging in.
Nearly all pages I've found when searching for the lock message have focused on phones, not Nooks, but one answer on this site got me reasonably far; I'm able to access the general Settings menu.  However, when I repeatedly click the "Android version" button on the "About tablet" menu, it doesn't activate the developer settings.  Instead, one of the following two images fills the screen:

All I can do at this point is click the back arrow to return to the "About tablet" menu.  Develop settings are not enabled.
Other pages suggest one should click repeatedly on other "About tablet" buttons to activate developer settings, such as the "Build number," but only the "Android version" button has any effect on my device.
Even if I were able to turn on developer settings, the Stack Exchange answer I linked to above says the next step is to attach the device to one's computer with a USB cable, but the Nook doesn't have a USB port.  Then one is supposed to run an adb command.  I've installed Android Studio for Linux, but it doesn't come with an adb command.
Is there any way to reset my Nook so I can use it, either by continuing the process described above, or any other way?

You realize the Nook was almost certainly stolen, right?

@JosephSible-ReinstateMonica No, I don't realize that.  Is that a much more likely scenario than the owner not realizing they needed to log out of their Google account before doing a factory reset?  If I had sold my old Nook, I wouldn't have thought to do that.

If that were the case, then couldn't you just send it back and have the seller unlock it and then send it back to you?

It's worth a try, I suppose.

The alternative would be the previous owner provided you with their Google credentials so you can setup the device. Not likely they'd do that, but they could change them before and after to be "safe" again themselves.


text:
How to fix "Can't install XYZ app" error on Google Play?

I'm getting this dialog when downloading an app/game. How do I fix it?
Dialog content:

Can't install Fish Paradise - Ocean Friends.
Try again, and if it still doesn't work, see common ways to fix the problem.

there are several possible reasons for that.

your android version isn't compatible to this app
your device misses a feature or a library that is required by the app
you have no enough space for the app to be installed
the app has some kind of bug (this way, you can leave a review or contact app developers if the question is important)


text:
Bootloop, can't go to recovery, oem not unlocked
I'll try to be straightforward. A couple of days back, I was using my phone and it got stuck, so I removed the battery as usual, and restarted it. It got restarted at that time, I plugged it in for whole night, and in morning it again stopped responding. I restarted it, and this time, it got bootloop. I opened recovery (It was accessible for first 2-3 trials), wiped cache, restarted and nothing happened. Its still on bootloop.  Now, I cant enter into recovery.
Device: Intex Aqua Turbo 4G, MTK 6375M, unrooted, oem locked, Debugging was turned on.
Things tried:

SP Flash tool: Download DA goes to 100%, then it shows BROM Error, code- 4008, or fax8 (different codes on different versions)
Fastboot: is accessible, device is detected on pc (using fastboot devices), but as OEM was not unlocked, cant flash)
Recovery, as stated is now unaccessible, all it shows is "Intex logo" on selecting recovery mode. Same goes for normal boot mode. Only fastboot works.

I can attach the BROM Error logs, if required. The memory tests of SP Flash tool goes fine, except that it writes NAND flash was not detected , and UFS was not detected. I dont know what this means. I can attach the scatter file too, (I thing that can be the culprit) if required.

Guess the downvote was due to your massive use of bold (I've fixed that in your post now). For starters: have you checked with our boot-loop tag wiki already?

@Izzy Thanks, I don't know how the Bolds got in first place. I've read the boot loop wiki, but as stated, the recovery cant be accessed, and I dint thing I can go into safe mode either, it was only possible if the device booted once, Ive not done it previously, if anyone could suggest a method, that would be great.

Always check the preview before submitting ;) The bolds got in by your ---- lines directly following a paragraph. If you wanted them to be horizontal rulers, make sure to have an empty line before and after. // Still not clear: did you try to get into safe mode – or did you not because you thought it won't work?

what is your question? do you want to recover userdata? do you want to factory reset?

Safe mode is unaccessible. I just want my phone turned on back, even if the userdata gets deleted. It just shows the intex logo as of now.


text:
How to stop microphone or app on screen lock?
Discord talk channel stays broadcasting indefinitely in background even if the screen is locked.
Note that I write "background" from the user's point of view. The app has a persistent notification so that makes it technically non-background on Android.
I would like to know if there is a setting or app that could be used to prevent this privacy issue.
For example to stop apps on screen lock, or to auto-disable microphone after some time.

Since Android 9 apps running in background (without a foreground service / persistent notification) cannot access microphone: https://developer.android.com/about/versions/pie/android-9.0-changes-all#bg-sensor-access. Also you may set RECORD_AUDIO to foreground using appops.

I see. Technically it is not background since there is a persistent notification and it is recording and playing audio. My question is about existing means to stop some apps or the mic while on screen lock.

There is no definite solution to your problem AFAIK, but I can share my thoughts on it.
From documentation:

If your app is running in the background on a device running Android 9... it cannot access the microphone

Furthermore since Android 9 you can force an app to use microphone (and other operations) only in foreground:
~$ appops set com.discord RECORD_AUDIO foreground

Both of the above are applicable only if the app is not running a foreground service i.e. not showing a persistent notification.
In case of older Android version or if the app is running a foreground service you can try to make use of some automation apps to revoke RECORD_AUDIO permission and/or operation as soon as screen is locked:
~$ pm revoke org.lineageos.recorder android.permission.RECORD_AUDIO
~$ appops set com.discord RECORD_AUDIO ignore

And do the inverse when screen is unlocked.
However Android framework mostly kills/restarts the app/service when a permission is revoked. Or the app may continue using the previous state of permission unless it's manually restarted. So the approach is not reliable but may work for some apps under certain circumstances.

For example to stop apps on screen lock, or to auto-disable microphone after some time.

Stock Android doesn't provide any such feature to auto-disable or disable mic from lock screen, though a custom ROM developer or OEM may provide e.g. a "Turn Mic Off" tile. Some ROMs add "Kill app" button to notification (on long press). But that may require unlocking the screen. Again you can automate to kill the app on screen lock. But some apps may also start a service on broadcast events.

Navigate to Settings/Apps/Advanced/Default Apps/Digital Assistant, then change from Voice to Google speech recognition. That should replace the mic symbol with the phone symbol.
-or-
You could try denying the Google app's mic permission or both.


text:
Moto e4+ fast charging issues
My moto e4 plus is 2yrs old.Suddenly at 75-80% it's charging rate drops then after a while suddenly it charging very fast after that stoppage.can anyone tell me reason !please