text:
How to automatically remove placeholders for ads when blocking them in Chrome?
I have a Moto Z2 Play running a Pixel Experience Oreo (8.1) 64-bit ROM. I have TWRP, Magisk root and Xposed Framework running. My browser is Chrome 70.0.3538.110 which is the latest stable release as of 5th of December 2018.
As the top answer in "How to block ads on Chrome for Android?" suggests, I have "AdAway", which works using the hosts file. It does work, however the space normally taken up by the ads is now taken up by a "sad face" icon as in the message Chrome shows when a page fails to load.
To me this is better than no ad-blocking at all, but one of the points of an ad-blocker is to remove clutter and use more display real-estate for actual content. Therefore, I am looking for a way to block ads in Chrome while also freeing up the space used by them so it can be used to show actual content. This is how most ad-blockers for desktop Chrome work.
I know that the newest Chrome Canary releases have a native ad blocker built in. However, it only blocks the most obnoxious ads. I am looking for a way to block all (or the great majority of) ads.

Browser based ad blocker extensions, such as uBlock Origin, work by preventing third party (cross site) requests from being made at first place. They explicitly have a list of which third parties loads ads, so they prevent the request, which in turn means no placeholder (the space occupied to show them on a page) for them in the rendered page output because those third party scripts were blocked from execution.
Non-browser based ad block solutions, such as Adaway and DNS66, focus on hosts based blocking, in which a request to an advertisement is redirected to localhost (user's own system), which in turn does not load anything. Since they don't prevent third party scripts from being executed, the scripts get to be loaded, with the placeholder the advertisement getting reserved in the rendered output of the page, but with no real ad being shown because of content request redirection to localhost.
So, if you want to save that real estate in the screen, you'd have to find a browser which has support for a popular browser based ad blocking extension.
Chrome does not support extensions as of now, so it is out of the equation. I don't know of Chromium based browsers with support for extensions, except Yandex browser which supports some Chrome extensions, and Brave browser who's native ad blocker at some sites achieve what you want. But, Firefox for Android is explicitly supported by the mighty uBlock Origin.
Here's how  a sample page from Vox website looks like, first with host based solution, than with uBlock Origin extension based solution, in Firefox.


text:
How to recover deleted photos which are shown as 0 bytes by data recovery softwares?
A relative of mine accidentally deleted the "DCIM/Camera" folder with all her photos, and asked me if it's possible to recover them.
I copied the 'userdata' partition (ext4) to a VHD image at once and tried to recover the files (Recuva, R-Studio, Photorec, DiskDrill, DiskDigger, DiskGenius, etc., were used but to no avail). Nearly all the photos were of 0 bytes in size, like they were securely deleted.
Several years ago I encountered a similar issue (the photos just vanished, I believe it was some SD card issue) and recovered files were 0 bytes in size too.
Is there any way to recover the files?
Unfortunately, sync with Google Photos cloud was not set up as well.
Edit: this is how I pulled the image:

Installed BusyBox in the phone;
Installed Filezilla Server on desktop. Settings: listen on those ports: 40, all timeout settings: 0, create new user ("user", "pass") and give him rights for the chosen shared folder ("read write delete" for files and "list + subdirs" for folders);
Disabled Windows firewall;
Checked adb (adb devices);
Enabled USB tethering, got the new desktop IP via ipconfig (192.168.42.79);
Found the userdata partition (mmcblk0p17):
adb shell
cat /proc/emmc | grep userdata

Pulled the dump:
adb shell
su
mkfifo /cache/myfifo ftpput -v -u user -p pass -P 40 192.168.42.79 mmcblk0p17.raw /cache/myfifo

And then:
adb shell
su
dd if=/dev/block/mmcblk0p17 of=/cache/myfifo

Voila! We've got a 27 GB mmcblk0p17.raw image.

Not sure how you copied the "userdata" partition unless you have TWRP or an unlocked bootloader, nor did you state your device. If you are trying to access a partition or directly to the "disk" via USB, that hasn't been possible since prior to Android 5.0 and only MTP access is available, which is accessing a database of files and using the OS to transfer then with a different protocol, you can't access the DB directly. Assuming you did pull a good image with dd or similar tool, and those tools or testdisk under Linux found nothing or just zero byte files, unfortunately they are just lost.

Yes the ext4 image seems to be pretty good, I even managed to restore 4 photos out of several hundred, and all other files were intact. I tried testdisk as well (so called PhotoRec).

How to recover a deleted file from /data partition?

source: Stack Exchange

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

sort: votes


text:
Google Play Services only recognizes deleted account; cannot update any apps
I got my Samsung Galaxy J7 in September and signed in using my primary, personal Google account ("A"). In early November, I downloaded Skype for Business for my job purposes, and created a new Google account out of habit ("B"). I DID NOT DOWNLOAD ANY OTHER APPS USING THIS ACCOUNT. A few weeks later, my boss informed me that a Google account is in violation of company policy, so I apologized and permanently deleted the account.
After the account was permanently deleted, I got an unclear-able notification saying "Account Action Required." Going to Google Play Services (which I didn't even know existed until then) led to a screen which "prompted" me to sign in with account B, but highlighting the email address does not pop the keyboard up. I have no choice but to sign in to that account, with predictable results.
Now account A is experiencing issues, which I'm positive are linked to this problem. I cannot check for updates, updates in general seem to have been disabled, and my list of installed apps appears to be blank, even though they all show up in my library. Again, all of these apps were downloaded on account A.
Does someone help me resolve this issue? Thanks in advance!

I'm no longer using GApps – but a step that often helps is clearing cache (and optionally data) from the Google Play app and, if that didn't help, also from the Google Play Services app. In the worst case, remove all Google accounts from the device, then re-add "A". The absolute last resort would be a factory reset, but I'd hope you won't need to go that far.

This could be happen because you deleted your account permanently from the web but that account still saved in the device and triggering a force sign in to identify you.
Follow these steps:
For Samsung specific-

Open Settings》Cloud and accounts 》Accounts》Google.
Now click the account that you have deleted permanently.

Tap 3 dots on the upper right corner and choose Remove account.

It must work.
Else last option would be a factory reset and set up device again.

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


text:
How to export a list as Text of all Play Store Apps that I have ever installed
I need to generate a text export of the list under the MyApps-> Library Tab of the Play Store App for Android. I need a list of every App that I have ever installed from the Play Store, and not just a list of the subset of those which are currently installed. Thanks, Jim

Use Google Takeout to export out of Google services a list of all activity involving the Google Play Store for a Google account.
No root or even device is required as you are exporting out of Google's collected cloud data, you just need account credentials.
For reference I just did it for my account and was able to obtain a zip file containing the following JSON files:
Devices.json
Installs.json
Library.json
Order History.json
Play Settings.json
Purchase History.json
Redemption History.json
Reviews.json

If you check Installs.json you should be able to extract out the name of the app from "title" as well as when it was first installed/last updated.
A few caveats that I see:

Apps on pre-Google Play devices appear to show up with package app name (i.e. com.publisher.awesomeapp). The earliest in my history is 2011. So there appears to be Android Market installs are held in this dataset.
Devices.json only seems to hold recently accessed devices. I'm pretty sure I had older devices with Google Play but they aren't listed. Its possible those old devices (Gingerbread/KitKat) have 'aged' out due to lack of access so that might explain why the older app installs like from 2011 show "deviceDisplayName": "Unknown Device"
title could either be plain app name or package name.

As the files are in text in JSON format, it shouldn't be too difficult extract out what you need.
From @JimCramer's comments, one can use https://json-csv.com/ to get a csv file from a json file.

Download Google Takeout zip file.
Unpack zip file
Upload Library.json file to that service
Review "Choose Output Options", if required
Click "Convert JSON to CSV"
For the Library.json file there will be three columns:

'DocumentType', 'Title', 'Acquisition Time'

Download CSV result file
Import into spreadsheet, sort by 'DocumentType' to get Android Apps and enjoy

From what I recall, Excel itself can import json files.
If you don't want a third-party site to have access to your data. A search in your favorite search engine naming your spreadsheet tool with the topic of 'JSON conversion' will show either how to do it or what plugins/scripts are required for the effect.

@Morrison Chang - I wanted to let you know that  your Anser/Procedure worked, and to thank you very much for replying to my question because it saved me a lot of time and gave me exactly what I wanted. I am grateful.  The ZIP Takeout File from the Google Play Service downloaded to my device. . I unpacked it and found the file Library.json.  I then uploaded that file to the free Json to CVS file conversion utility on the web page https://json-csv.com/ which eaily converted my file to .csv and .xlsx format, and downloded that back to my local storge.


text:
How do I enable SEANDROID ENFORCING over adb inside TWRP?
When I boot into TWRP Recovery, it says,
RECOVERY IS NOT SEANDROID ENFORCING

but when I run sestatus, it tells me
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
Current mode:                   permissive
Mode from config file:          permissive
Policy version:                 26
Policy from config file:        sepolicy

How do I set the SEANDROID ENFORCING?

This warning seems to be Samsung devices specific mostly.

I believe that what that warning is referring too is the SEAndroid ENFORCING, you can change that with setenforce
$ setenforce Enforcing
$ sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
Current mode:                   enforcing
Mode from config file:          enforcing
Policy version:                 26
Policy from config file:        sepolicy

You can also test this with getenforce
$ getenforce
Enforcing

I reckon that this doesn't change SEA status permanently and hence will not eliminate the warning on boot?

@AndyYan no, it will not. While that's another question I have, I'm inclined to think persistence is different and a follow up.

Actually, i'm stuck on boot splash, the more I read about this, the more I'm convinced it has nothing to do with my boot splash.

Whatever applies to the recovery has nothing to do with the main OS. If you hit a bootloop/stuck with the OS then no point in messing with the recovery itself.

If we're assuming that the recovery was to do all its jazz while not in SEANDROID ENFORCING, I would agree. Anyway, in trying to trouble shoot it there are hordes of people that disagree with us online, too many for to discard all that testimony without looking into it.

All Samsung devices I've played with have non-SEA-enforcing recoveries and that doesn't affect how they work. In fact I'm guessing that they work well precisely because SEA-permissive means lax security measures and grants it full capability of tampering with the device (though I've never seen an official confirmation of this).

We're on the same team, I agree. I just didn't know much about the SE-A Enforcing stuff, and wanted to learn more, now I know how to turn it on, and I can't see how a more restrictive policy can cause an error.

https://source.android.com/security/selinux/   first has several tutorials this is the overview. More info in menu the left and several resources at the bottom      https://su.chainfire.eu/#selinux this is interesting the battle between the two

@BoLawson saw that, but that's more about what SELinux is so I didn't put that link in here. It also doesn't address how SELinux is supposed to operate with a recovery. Or, how you would restrict a recovery whose goal is literally to override or wipe the OS.

Start here breaks down the difference: http://hsc.com/DesktopModules/DigArticle/Print.aspx?PortalId=0&ModuleId=1215&Article=66 as far as custom recovery it is not really an issue. People tend to focus on it more than need when it comes to recovery. I guessing the colorful writing. Most of the times I've seen it its from flashing the wrong variant or using an SU binary injector script for an older android version. From people not paying attention to patches. S.E. stands for security enhanced to help on your research when it comes to older documents.


text:
Can Magisk rules be enabled from Recovery (TWRP)?
Is it possible to configure Magisk by ADBing in through TWRP when you install it, so you can get it working on an initial install. I'm having problems with a splash screen -- my boot just locks at that process. I would like to see what's going on. I know Magisk provides LiveBoot would be a good fit, I can install in TWRP. But then I have to boot into Android to configure it to disable the boot screen (which I can not do).
From the buildlog of Magisk V13,

[magiskpolicy] Updated rules for Android O, and Liveboot support

I can't figure out how enable those rules outside of a working boot?

If your just after the bootloop info. You can get adb logs of a bootloop sometimes even at the splash screen. Try to get them and post them so we can read them. Linux command: adb logcat -v long > ~/Desktop/logcat.txt windows command:
adb logcat -v long > %userprofile%\desktop\logcat.txt these logs can also be helpful linux: adb logcat *:W *:S > ~/Desktop/logcatALLwarnings.txt windows:
adb logcat *:W *:S > %userprofile%\desktop\logcat.txt

I was unable to adb anything it was dieing before that. I filed a regression with LineageOS though since I'm 100% sure now it's a build problem and the previous build works fine. This is also a new install  https://jira.lineageos.org/browse/REGRESSION-2222

If I don't get it wrong, you want to take boot log at boot when your device is stuck at SPLASH SCREEN? By splash screen you mean boot animation or the one we see initially at power on? Did you try Android SDK's "Monitor" tool for logcat? Or the "insecure" adb which enables to take "adb logcat" as soon as the logcatd starts on phone? Another option is to add a service to init.rc which saves logcat to a file which can later be accessed from TWRP on reboot. If your boot process doesn't get that far, consider getting kernel/init log through "dmesg" with high verbosity.


text:
Does LineageOS disable the Android Easter Eggs?
I'm currently running LinageOS 14.1 (Android 7.1), I found a task in Magisk named  com.android.egg. It's described as being "Android Easter Egg". Researching it, I found out how to trigger it here,

Android N "Nougat" easter egg You can get to the Nougat easter egg in
  much the same as as Oreo, but the actual game is much more involved.
  Activate the easter as normal by going into your Settings > About
  Phone > Android version. Repeatedly tap on the Android Version tab
  until the "N" appears on screen.
Swipe down from the top of the screen to reveal your quick settings
  toggles and hit "edit". You should now see a cat face icon with the
  label, "???? Android Easter egg". Drag and drop this icon to to the
  main quick settings options and place it where you want it. Now, the
  fun can begin.
Hit your home button and then drag down the quick settings shade from
  the top of the screen again. This time you should see an "empty plate"
  option. Tap it and you'll see an overlay with four food choices: Bits,
  Fish, Chicken and Treat. Select one, then continue using your phone as
  normal, and wait.
Eventually, you'll get a notification telling you that a cat has
  snagged one of the treats. But it doesn't always work, which is kind
  of the point of the game. You have to keep trying, using different
  treats to bait a cat.
When it does work, you'll get a notification saying "a cat is here"
  with the number of the cat listed underneath. Tapping on the
  notification reveals a new screen with a cat icon which you tap once
  to rename, or long-press to reveal sharing options. You can save a
  full resolution version of the cat's picture to your device, or share
  it to all your social media accounts like every other crazy cat owner.

However, that doesn't work for me. It seems as if on LineageOS the edit option for the drop-down is done by clicking on the pencil at the top. There is no Edit text anywhere on the menu. I would still expect that button to work for the purposes of the easter egg?
Does LineageOS disable these Android Easter Eggs? Is it possible to trigger this Easter Egg in LineageOS?

please try this, pull down notification shade, long press settings icon(gear), and after few seconds, it may show that you have enabled system UI tuner. After, that can you see, edit tiles options.

@RahulGopi no joy =(

which device you're using? Is lineage build official? I have done this on my old Redmi 1s Lineage/Cyanogen Nougat build in 2016. So I think, Lineage team don't  disable  this feature that are available on AOSP builds. Also, you can ask about this on XDA forum,  or from where you've downloaded lineage build.

@RahulGopi system ui tuner is not "activated" in LOS anymore (no such option). Instead, what you usually find in that menu is available in the "normal settings" in places where you'd normally look for it. And I can confirm what Evan wrote: Tapping the Android Version gets you to the N, but the cat is nowhere to be found (official LOS 14.1 ona BQ Aquaris X5 Plus here).

Weird, I definitely remember seeing that cat easter egg tile in the Edit (pencil) UI. I'll verify on a LOS14.1-running device shortly.


text:
How to install apps with adb shell and how to backup device settings and restore to an identical device?
I am searching for days and I am really confused on what should I do and I decided to look for help here.
I have a rooted by default Android device (box) and I have changed some of the device settings (Date & Time, security, accessibility, display, HDMI, MCU settings and developer Options).
Now I want to find a solution like an (APK or ADB shell or script) in order to copy or backup this settings and restore them to another identical device with the same firmware.
I have tried a lot of applications, but at almost every app that I have already tried, I have an issue with the touch options. (For example: I can't choose yes/no at some critical points)
Please, suggest me what to do. Every answer that can help me to find out a solution to this it could be useful!

Edit:
In order for you to understand my situation, I have already set up some devices with four apps and I have changed some of the settings of the device like I said before. I want to fully backup and restore  my device or write a script for this situation because I want to do the same set-up for 50+ devices, and for this I need some automation, but because the apps that I want to use want a different setup per device, until now I have decided to make the installation  with a usb.
So at this moment I want somehow to copy the settings from one  device to another identical device. I can tell you some apps that I have tried but cannot work properly because of the touch options (CLONEit, Titanium Backup, Helium, G Cloud, Backup Your Mobile, Rom Settings Backup), except from apks I have tried Android SDK with adb shell, but the app can't copy all my settings, so I reject adb shell option (I tried every possible command). I have tried TWRP but I can't choose some options because of the touch options (I have tried keyboard with touchpad and mouse but nothing, some options are unable to be chosen).
I have tried more apps than I've mentioned, but the only app that did exactly what I want with the settings is "Rom Settings Backup", because it copy every setting of my device. If anyone of you have already used Rom Settings Backup Pro, I want you to tell me how can I restore the settings from my first device to another?
About the script, I have my apps saved as apk files. I am telling that because, I believe that somehow with a script I can make my device to install my apps. Also, if I can change some of the settings with a script it would be great.
If anyone can guide me on what I have to do or what should I search for I would appreciate it because I am newbie at scripts.
I forgot to mention that I have got from an app an XML file with the device settings, but I don’t know what to do with it or how to restore that XML file on my device because the app that did the backup for me didn’t have an option for restore.

Device settings are stored in different files under different directories in /data partition. Same is true for user installed apps. You can track which files are changed in /data partition and then copy those files to an identical device with proper permissions (DAC and MAC whichever applicable). Root or at least custom recovery is required on both devices.

I want to share with you some tips from my research:
On how to copy your device settings and your Apks from one device to another, but its only for ROOTED devices (in my case, I did that to identical Android devices without issues).
Tips:

First, you have to download and setup ADB (it’s not difficult search at google-youtube)
If you want to do this procedure for a lot devices, you can use a 7-port usb hub with switches(ON/OFF). ADB, for example, can’t execute commands simultaneously. If you want to save some time and don’t want to plug and unplug devices, you can use a hub like this in order to be able to choose in which device will the commands run.

1)How to copy almost every device setting?
At your 1st device:

Download ROM Settings Backup from Playstore.
Install it  and prepare your settings. Next, select a ROM
(I test every ROM options and all were the same except if you create a new one.
Do not create a new).
Just pick one from the existing ones and backup your settings.
(If you are using an Android box, use a keybboard and try arrows, Touchpad or mouse will not work).
Try to find the path, for example …/SettingsBackup/Backups/omniROM....
and copy the folder with your backup settings.

Save this file to your computer. Connect your 2nd android device to your computer [First you have to install “Rom Settings Backup” , then open command prompt and paste the following command but not exactly that, try find the path on your device(**).
adb push yourbackupfoldername /storage/emulated/0/SettingsBackup/Backups
(**) Find the path that you will push your backup folder to your new device (if you cant find it , download "ES File Explorer File Manager" and you will figure out the exactly path)
If you want you can open Notepad > paste the command :
adb push yourba.../… /Backups and save the file as settings.bat
(When you double click the .bat file or if you type the command to cmd, the folder that you choose  will be copied to the right path at your new device).
Then open "ROM Settings Backup" at your 2nd device and Restore your backup.
At my device the timezone wasn't right and if it's not for you too, then  you have 2 options:

You can change it manually from your device settings or
Do the following: paste the command below to cmd or to a new bat file (your device will reboot after this command, so you can add this command to a new raw at your previous .bat file  or create a new .bat file).

adb shell "su -c 'setprop persist.sys.timezone Europe/Madrid; stop; sleep 5; start'"
2)How to install automatically with commands as many application you want ?
You can just paste at cmd:
adb install –r “Nameofyourapk1.apk”
and repeat this for every app
but it’s faster if you have a lot of devices to do the following:
First, download your applications as Apks from a trustworthy source.
Then copy them to a folder and create a new installapps.bat file (from Notepad) at the same folder and with the following commands:
adb install -r "Nameofyourapk1 .apk"
adb install -r "Nameofyourapk2 .apk"

Paste these commands, rename your .apk  name for every app that you want to copy.
(Change raw for every new app.)
When you run installapps.bat file the apks will be automatically installed to your new device. Then continue and open these apps at your 2nd device in order to finish installation.
Do not hesitate for further information.


text:
How to install Playstore on a device on which it is not already installed?
I bought a VivoY13 phone from Chinese Dealer.  But Google playstore is not pre-installed.
And when you try to install it shows errors.
Does anyone have solutions or faced  similar situation?

What errors are shown? Please [edit] to describe them and add a screenshot if possible. Also see similar questions with solutions that may work for you

@beeshyams the question is rather "how did you install it". First, it needs the GSF (Google Services Framework) – and second, it needs to be a system app. // Franklin: as a hint, many of our tags have useful wikis attached. If you e.g. take a look at the google-play-store tag-wiki, it would lead you to How can I install the Google Apps Package (Play Store, …) on my Android device?. Though I'm happy to have a device without that Google stuff; runs much smoother. And I use F-Droid instead, much safer :)

I'm Really Thankful For Your Quick Response.....

But In Respect To My Question On How To Install Playstore Google Services On VivoY13 Android Phone Which Your Answer Is Apparently On How To Install Playstore Services Not Specifying The Steps And Apps Needed To Run It On The Android Version Type Device.

@FranklinEmissary Doesn't the question I've linked explain that? Why should there be a separate explanation for each of the thousands of Android devices existing? You only need to flash the GApps package matching you Android version – regardless of the device. Also see our google-apps tag-wiki for alternative sources of GApps. AFAIK, OpenGApps should be the best choice.

How Do I Download The GApp Then, because I Find Difficult Downloading With The Phone.

It seems that you are a victim of purchasing a tampered device.
Why do scammers and hackers sell tampered device's ?

Copying sensitive data ( bank details )
Hacking user's information
Stealing passwords and other security data

How do they steal data ?

The seller purchases a new device, then gains root access and installs hack software on the device.    ( malware, spyware etc... ) and sells it on eBay and other sites.

Is this a serious issue ?
YES.  You should NEVER use a device with hacked firmware for anything... it could be logging everything you do...

text messages
internet access
call logs and recordings
everything your device has access to

What can i do to remove the hacks

Download an OFFICIAL stock ROM ( Firmware )
YOUR DEVICE FIRMWARES - NeedRom.com
Download the Latest SP Flash Tool ( most MTK china phones use SP Flash Tool)
Install your STOCK OFFICIAL firmware following the guide on needrom.com

Why would Google Services be missing ?
Usually this is to comply with Copyright laws, the seller isn't legally aloud to sell you proprietary software on a modified system.
Also, Google Play Protect will alert the user of any suspicious applications on the device, and also check for ( Certified Device )
Certified Device !!!
After installing your OFFICIAL STOCK Firmware, you can check the integrity of the system using the built-in recovery, just boot into recovery and do a system integrity check.... After all is OK, boot the device and open Googles Play Store,   Navigate to settings and scroll to the bottom, at the bottom of the settings screen in the Play Store, it'll say if your on a Certified Device or not...
If it Say's certified device, and you have all OK in system integrity check, your good to go and all services like Android Pay will be accessible.
The flashing instructions are usually basic, but be careful NOT to use Firmware Upgrade... Only Ever Download, in SP Flash Tool.
Good Luck, I've had many tampered with devices from online purchases, but all are fixable :)
Especially Chinese MTK models.

Before you try anything too radical, you can try to sideload Google Play store without flashing. First, find out the android version you are running, for example, 4.4, 6.0, and so on. Then go to the apk mirror site to download a play store apk (which is equivalent to a exe installer on a computer) for your version. BEWARE, do not go around and use many other 3rd party app websites, as many of them are very scammy. To "sideload" an app, follow this guide.

This is seriously bad advice...

You will still have an infected device !!!! It's utterly stupid.... he did not remove the play store ... The Seller Did !!!! .... Don't be gullible because you aren't confident in your ability.

If you are worried about Damage's ... here's a guide to do a complete backup first  https://youtu.be/e2_U68EGSlY


text:
Does GBWhatsapp's back up feature restore media/images INSIDE all the chats?
I know that GBWhatsapp's inbuilt backup feature restores all chats and media safely. However, what is important to me is to be able to see all the media of a chat from within the chat itself (the one you get when you open a chat header).
I have many groups and chats who's media images I need to access quickly from within the chat and I need to know if the images stay in the chat media. Can anyone who uses GBWA verify this?
As a side question, if the above isn't possible, is there any other way to backup my app in such a manner as described above?

Tested it, it does. A normal backup backs up all media within a chat too.


text:
Can an application wipe or corrupt a SD card?
Is it possible for apps to eliminate or corrupt SD Card specifically the apps that are installed from Play Store? Lately my micro SD card got wiped out on its own and I couldn't recover any of my data since I formatted it as the default disk to write earlier on my phone. I also wonder if it is possible for Beta version of apps to distort an SD Card

This isn't impossible but rarely happens. Apps with android.permission.MOUNT_FORMAT_FILESYSTEMS are able to format external sd cards or those with android.permission.WRITE_EXTERNAL_STORAGE can erase files from external storage. Also apps with root access can do almost everything they want. But it hardly makes sense to erase data unless one has clearly destructive intentions. Usually the data loss is associated with some malware activities or hardware failures.

Yes, it is possible for an application to maliciously wipe or potentially corrupt data on a SD card. However, that is very unlikely to happen.
More likely is that the SD card had some sort of hardware failure.


text:
Add Miracast function to newer Android versions
According to Wikipedia:

Miracast support was built into Android with version 4.2 ...
... Support was
dropped again with Android 6.0 Marshmallow in 2015, in favor of
Google's own Google Cast protocol.

Any answers associated with these older versions of Android do not apply.
Modern Android devices include a "cast" function, but it's Google proprietary and so cheap HDMI TV dongles might not support it, especially since it's probably a moving target, and Google wants you to buy their device.
There are apps that simply help you turn the casting function on and off, but all those do is save you from digging into the settings yourself (they don't add any casting functionality).
Is there a way to add Miracast function to a modern Android device?

At a technical level, support for Miracast requires three things: wireless chipset support, operating system support, and driver support. That is about all I know on the subject.

If Zillinium's suggestion to make changes into the "system / build.prop" does not make it fully function, you might need to also change the "/system/etc/wfdconfig.xml" file also. The following steps require both require root access and custom recovery TWRP.
Pre N (Nougat) the long way. You could use the nano command to add and/or change values, but for simplicity and to stay in-bounds, just use a file explorer and text editor.

Go into the file /system/etc/wfdconfig.xml
Change the code:
...
<ContentProtection>
    <Valid>1</Valid>
 ...

Change 1 to 0 to make it look like this code:
...
<ContentProtection>
    <Valid>0</Valid>
...

Go into the file /system/build.prop. Go down to this line of code and AFTER it:
persist.debug.wfd.enable=1

Add a new line of code by creating this line:
persist.debug.wfd.appmonitoring=1

Save and exit.
Restart phone.
connect phone to computer.
Open an elevated command prompt and throw these commands:

adb shell
su
setprop persist.debug.wfd.appmonitoring 1

Verify the setprop getprop persist.debug.wfd.appmonitoring
If 1 is returned, then you should be good to go.
Side note: if this should put you into a bootloop, go into custom recovery TWRP.
Open a command prompt and throw these commands:

adb shell
chmod 644 /system/build.prop

That should fix bootloop.

For Android N (Nougat) the short way:
From the custom recovery TWRP:

Open a elevated command prompt:
adb reboot bootloader

Next, mount the /vendor partition from within TWRP`
Then throw the command:
adb shell 'echo persist.debug.wfd.enable=1 >>/vendor/build.prop'

Reboot system from TWRP menu

You should be good to go.

i can't possibly walk you through all the system modifications that are required but it's definitely possible with root access...
Reasons for Google's changes....
MiraCast has never been fully supported by Android, it usually had serious problems trying to convert the screen into a standard 1080 or 720 resolution video, this usually caused just a phone shape video on the screen and not utilizing the entire screen... I believe that designing their own cast software was necessary to combat the problems Android was experiencing.
To Enable a Disabled MiraCast you'd need

You'll need root enabled.
All you have to do is change one line on your build.prop. ( system / build.prop )
You have to change the line
 persist.debug.wfd.enable=0

To
persist.debug.wfd.enable=1

If you're on stock or stock based ROM, you will edit the line.
If you're Lineage based rom, you will have to add the line.
Now you reboot and Miracast can be enabled.
Reference
To Add MiraCast is difficult if it wasn't disabled by the manufacturer, usually to enable ChromeCast you'd disable the older MiraCast, so if you're device has ChromeCast you should be able to enable it with the information above...
However if it was never part of your system to begin with, you'd need to manually build it into your system... Outside the scope of this site.


text:
How to fix crashes on "Checking info" screen when trying to add a Google account?
I had to remove my Google account to sign out of Gmail, but when I try to log back in I see this screen and then it crashes:

Without this, my Keep, Gmail and even Play Store isn't working and I'm unable to sign into YouTube.
I've tried restarting my phone, clearing app data for all Google apps. I thought this was a Google Play Services problem, so I tried to update it by installing via the latest APK but it always says that "the package is corrupt"
This started when my Gmail app started crashing out of the blue. I tried restarting my phone which didn't help, so I thought I'd sign out and sign back in.
I'm using Android 7 on Redmi Note 4

Although several months too late for OP, the problem described is exactly the same as one I just had to solve on my Mum’s tablet yesterday.
Note that there seems to be at least a couple of different problems that people are reporting that relate to the “Checking Info” screen. The problem I’m referring to is where the Checking Info screen just crashes and disappears, NOT the problem where it freezes.
The symptoms being seen were:

Almost none of the Google apps were able to run. The only exception to this was Chrome, which was working fine.
When trying to access Google Play Store, I was asked to sign in, but then the Checking Info screen was displayed briefly before it crashed and returned me to the sign in screen.
A number of other apps (a seemingly random selection) were crashing as soon I tried to open them.

What I did to fix it:

In Settings > Apps I selected the Chrome app and chose the “Uninstall all updates” from the 3-dot menu.
I was then able to successfully open the Google Play Store, login, and get past the Checking Info screen.
Finally, in the Google Play Store, I found the Chrome app and selected “Update”.

All the affected apps then worked correctly.
Why does this work?
The Checking Info screen has an embedded web browser window in it (called WebView). If Chrome is installed then it provides this capability. I think that during a Chrome update something happened to cause WebView to break. Taking Chrome back to its factory default version removed that fault. Not sure why updating Chrome back to its most recent version then doesn’t cause it to break again - perhaps some error in one of the earlier updates.

This answer was invaluable in helping me come up with the solution that did actually work for my father's issues with the Checking Info screen: rather than doing "Uninstall updates" for "Google Chrome", in Settings > Apps, select Android System WebView and in the 3-dot menu, select "Uninstall updates". From there you should be able to add a Google account in Settings > Accounts > + Add an account > Google.

I know it's too late to answer now but i hope someone else would find it helpful
Sometimes even if you switch account in play store it doesn't allow you to download anything.. it just keeps on showing Waiting for Download.
Go to Settings-->Accounts>Google-->(your email id you removed earlier)-->"Remove account" from top right corner. And then add it from start.


text:
how to change the Mac address without rooting your phone
I do have a Samsung Galaxy J5 2016, and I am trying to change its MAC address without rooting it.
I've done a lot of internet search, and I've come across many useful guides and advice, such as
https://www.quora.com/How-can-I-change-my-Android-non-rooted-Mac-address.
Anyway, Terminal Emulator doesn't allow the operation indicated in the guide (ip link set...etc etc.): it outputs permission denied.
More search gives as a result that you can't do this command without logging as superuser and, in turn, that you can't do that if you aren't on a rooted device.
So I'm starting feeling as I'm chasing my tail...
Can anybody please help?

Simply, you can't. Because of how the permissions work in Linux, what android is built on, you are required to use a root account to make those changes. The root account being su, which is only accessible when you have a rooted device. To my knowledge there is no way around that, even using alternate commands that might exist.

many thanks for your answer...let's say I was strongly suspecting that

it's possible to make root changes without root access on some models... MTK for example.
If you have an MTK Device,
Use Engineering Mode to write a new MAC Address

Open Dialer ( Phone )

Type this number, replacing the letters for the numbers
  *#*#ENGMODE#*#*

This is called a secret launch code, it'll launch Engineer(ing) Mode and you can change MAC with the guide here
Scroll down to the MTK Part.
Other device's can use Terminal Emulator
Some can use factory image flashing software
Some ( Like your device manufacturer's ) can change the IMEI, MAC & Bluetooth Address using a pre-boot ... Used for factory address writing in the masses.
It's possible without root, but a lot more difficult....
Try your Terminal Emulator commands running as a shell user ID ... To do this, just use ADB and connect to the shell with
adb shell

This gives you more permissions as you'll be running as shell user.

OP mentioned having a Samsung phone, which does not have an MTK chip.

having an MTK Chip isn't necessary, i provided the information for reference, i felt ...' simply, You can't ' is a bit ridiculous, every device has to be written by the factory on a line, it's as simple as connecting the wires ( usb in some devices ) and writing to the device.    It's not just possible, it's the law.

@Zillinium many thanks for your suggestions.
I am trying to use them as a guide.
How can I use adb?
I downloaded Android Studio and all of its tools but there's still much I need to learn

If you are not familiar with ADB, it's going to take me a while to take you through everything, so I'm not sure if it can all be answered in one question.. As you run into problems, ask another question in Stack Overflow for example ( Installing ADB Problems ? ) ... You don't need the full android studio for ADB, you only need two or three files. ADB.exe and a few others that go with it.

@ Zillinium I've successfully installed and set up ADB , but when I try to run the command
j5xnlte:/ $ ip link set wlan0 40:F3:08:87:1F:8E
it still returns
permission denied

This means that even shell doesn't have permission to change it ... was worth a try...... A simple command like input will not work on the device, but works through ADB Shell...

I can only think of a few other Way's to achieve the same results.... WiFi to your Laptop, change address on the laptop and run another hotspot from the laptop back to your device through WiFi... On your device the MAC will be the same, but on the Laptop you will have more control over it's identity.

An old Privacy application that decompiled and recompiled apks to mock information might be able to mock the MAC address as it's read ... Privacy Guard - is the old app, it could mock phone numbers, network cell IDs, Locations, etc....


text:
Is my device unrecoverable without factory reset? - com.andoird.phone stopped
Yesterday I took my Xiaomi Mi A2 from my pocket and saw a warning screen (text-only) telling me the device couldnt start and if the issue persisted I might need to do a factory reset and wipe all my data. I clicked try again.
After starting, my device displays an error message - "process com.android.phone stopped". When I try to unlock the phone it starts rebooting after a few seconds. When I slide down the top tool bar the device also starts to reboot.
I searched for a solution but didn't find a fix that works for me. Some of the suggestions relating to a simmilar issue (but the error message in those cases starts with "Unfortunately" and the devices seem to be somewhat servicable) suggest wiping cache, contacts or SIM tools but all of those are inaccessible to me because the device reboots all the time. Another solution for wiping the cache is using adb command line tool. But adb doesn't "see" devices without USB debugging enabled - which again I can't enable because I cannot access the settings menu (reboots). fastboot seems to be able to delete cache with fastboot erase cache but I'm prevented from doing this because of an error - FAILED (remote: 'Erase is not allowed in Lock State'). I'm not sure if this Lock State gets unlocked with fastboot oem unlock but from what I understand that would wipe my device anyway.
Finding all of this out took quite some time so at this point I don't know what else to do as I have very little knowledge about this area. Is there any way to at least attempt to clean the cache or will I have to go for the factory reset? I'm not entirely sure if I have all the Google Authenticator recovery codes so I'm hesitant to do so.
I've had an old iPhone 4 for some 4 years and I've never had to invest so much time into that so you can imagine why this frustrates me at this point.

something might have caused a system error, you have no choice but to factory reset or re-flash the firmware, or find the root of the error. This error is caused by varying situation so it is hard say for now what might have happened.

As for wiping the cache. You could try from recovery enter recovery: from device off state hold the power button and the volume up bottom at the same time. Then once recovery has started release you should next see a no command screen, hold down power button and then press volume up button once. Immediately after that, let go both buttons and you will enter stock recovery. there might be an option for the cache. Use the volume buttons to navigate. Use the power button to select option. Also, you are correct on the lock state assumption your bootloader is locked.

@BoLawson Yea I found about the android recovery screen already but it doesn't feature an option to wipe the cache partition. From what I've read that has been removed in some update at with version 7... Something to do with seamless updates?


text:
Flashed BTU from sammobile but is still EVR
I'm trying to flash BTU stock firmware from sammobile for my s9 g960f. I got the firmware from here https://www.sammobile.com/firmwares/galaxy-s9/SM-G960F/BTU/  date: 14/11/18 pda: G960FXXS2BRJ6.
I used Odin to install the firmware, it appared to work from odin and the phone restated and went straight to android setup, but is started to install EE apps and is showing as EVR crc in software info. Could this an error on my end or not the right files on sammobile?

By the way, since Odin isn't an official tool or supported and its internals are not well known, I'd recommend Heimdall. Here is an article on how to flash ROMs with Heimdall on an S9. Simply switch out the files for whatever you want.

Not sure if it is an error on your end or Sammobiles. You did however appear to have flashed EVR firmware variant instead of Blu firmware variant.

Carefully check and re-download the Blu firmware variant and flash again through Odin.
Thinking about it though, as long as the CSC you are changing it from is not included in the CSC you are flashing, otherwise it will just default back to the phones original CSC.
You will need to flash CSC and not HOME_CSC in order to change though, which will reset the phone back to factory.
If the problem persists, contact Sammobile customer support to inform them of issue.

So i want to replace the firmware with unbranded stock firmware, to do this i not only have to replace AP in odin but also CSC? (never replaced csc before). If my phone is locked to EE, would this have any effect on this process?

Some definitions: The CSC  (Consumer Software Customization) is: It is specific to geographical region and carriers. It contains the software packages specific to that region, carrier branding and APN setting.
PDA: It refers to the build version of the software or firmware. PDA is now known as AP in the latest versions of Odin.
First question the answer would be Yes. The AP is replaced every time new updated firmware is flashed. Really the only oddball change would be the CSC (carrier branding stuffs) the CSC file should be in the BTU download you have Not HOME_CSC.

Second question, define locked to EE? Like carrier network locked can only be used on that carriers network? My answer would be I don't know. When I messed around with re-branding it was with a network unlocked t-mobile s6.

Just reflashed with CSC (not the Home one) and the phone now says its XEU/XEU/EVR. I read that XEU is the same thing as BTU but still showing EVR. Happen to know if this is correct for stock firmware? also yeah carrier locked to EE.


text:
restart Android phone when power button stopped working
The power button on my Nextbit Robin has stopped working.  After some investigation, it would appear that the volume down button doesn't work, either, so, I'm 99% certain that it's a software issue (related to taking a screenshot?); however, in the unlikely 1% chance, I don't want to just shut it down (through battery drain?), as it might not turn back on again if the issue is hardware related instead (whereas if I leave it as-is, it might as well last for a while as long as it never gets into a shutdown state).
It's possible to wakeup the phone by connecting or disconnecting it to a charger, and by installing a number of apps for the task, but it would appear that there is no way to actually reboot the phone, nor bring the Power-Off/Reboot menu that the power button normally brings.
How do I reboot the device?

Apart from my answer posted below, I'd like to mention that your phone might be having a Scheduled Power On/Off option. It would be best to keep power on scheduled for daily, so that if for some reason your phone switches off, you won't have to bother yourself with the trouble of starting it manually.

@Firelord how would i find if it has such option?  I haven't come across any such option in the menu.  Also, issuing the reboot when the phone was off in USB debug didn't result in a reboot, either.

It is usually in the Settings app, hidden somewhere, if your phone supports it. If you can search in the settings app, try "schedule" or "power" search terms.

Does this answer your question? Turning on with ADB and SDK tools?

It would appear that the only way to reboot the device in the case where the phone is not rooted and when the power button is unavailable is through adb.
As per StackOverflow, it would appear that Google provides an adb binary for OS X that doesn't depend on any other developer tools nor Java, so, the following set of steps would make it possible to reboot the phone:

Have Developer options menu enabled within the Android phone
Enable USB debugging within Developer options menu of Android
Connect Android device via a USB cable to an OS X machine
Execute the following commands within OS X in Terminal.app:
cd /tmp
curl https://dl.google.com/android/repository/platform-tools_r28.0.1-darwin.zip -o apt.zip
unzip apt.zip
./platform-tools/adb devices
./platform-tools/adb reboot

Before executing the final adb reboot command above make sure to allow pairing between Android and OS X by allowing it at the Allow USB debugging? dialogue popup that would appear on the phone after running the adb devices command on the OS X machine.

There's an even smaller (minimal) installation available on my site, as e.g. mentioned in Is there a minimal installation of ADB? And yes, I have that package available for Linux, Mac and Windows :) Apart from that: +1, that's what I had put as answer if you hadn't been faster :)

[It] would appear that there is no way to actually reboot the phone, nor bring the Power-Off/Reboot menu that the power button normally brings.

There is a way, that too without root access. AutoInput can show the power menu. It requires Tasker installed.
Setup both Tasker and AutoInput. Make sure both are "not optimized" under battery settings in your device. In addition, accessibility service of AutoInput needs to be enabled.
Setup a task in Tasker and add this action:
Plugin → AutoInput → Global Action → Configuration:

Action: Power Dialog
Password: leave it untouched

You can test the task now with the play button at the left side of the bottom bar. It should work if AutoInput was setup correctly.
You have various ways for ease of use for this task.

You can set up a widget on your home screen that would link to this task (you'd have to assign an icon to the task first).
You can setup a profile (a trigger) that would automatically run this action.
You can also assign this task to a HW button (AutoInput supports that).
You might also be able to add this shortcut into quick settings (for Android N and above I believe).

Wow, nice if this works!  I searched all over, and there was no mention of being capable of bringing this menu anywhere!  I do recall some software for iOS or Android that I've used before that was capable of bringing these menus, so, I'm happy that there's a potential solution here!  This depends on the menu having reboot option, correct?  E.g., wouldn't work on Google Nexus phones that don't have the Reboot option in their power menu?

@cnst That's an issue I didn't take into consideration. Yes, this only brings power menu. If the power menu doesn't have reboot option, then I'm afraid this is not gonna help you. :(


text:
Mount SMB storage on shiled TV accross subnet
I have a setup like this :
[Shield TV 2015] 10.10.2.112 <---> [OpenWRT Router] <---> [Synology SMB Share] 10.10.3.11

I want to be able to access all my NAS files with any apps on the shield TV, so, I want to mount permanantly  the SMB share on the Shield.
So after confirming the connection was router correctly usig solid explorer integrated smb client, I went into the shield settings > Storage > add new network storage and inputed the NAS path (\10.10.3.11\Public) and the associated credentials.
However, it can't mount it, and according to logcat, it can't find the NAS netbios name locally, which is normal as it's in another subnet, but abnormal as I inputed it by IP.
Moving the nas to the main subnet is out of the question for multiple reason.
In the end, is there a way to force the mount with just the IP ?
I'm open to all suggestion, even root or scripts ones.

How are you trying to mount it what detailed steps? Have you tried to mount from a command prompt? Or does solid explorer just have a mount button? The basic syntax to the basic mount command: mount -t cifs //<server>/<share> <mountpoint>. Each component needs its own attention. Example: mount -t cifs //192.168.0.123/Documents /mnt/nas maybe applicable WIN article on protocol and troubleshooting netbios name resolution issues: https://support.microsoft.com/en-us/help/172218/microsoft-tcp-ip-host-name-resolution-order Umm, also if NetBIOS via TCP/IP is not enabled, afaik IP will not work.


text:
Odin froze on TWRP image
I started flashing mu Samsung A5 (2017) about 30 minutes ago, and Odin seems frozen at TWRP image. What should I do?
<OSM> Enter CS for MD5..
<OSM> Check MD5.. Do not unplug the cable..
<OSM> Please wait..
<OSM> Checking MD5 finished Sucessfully..
<OSM> Leave CS..
<ID:0/003> Added!!
<ID:0/003> Odin engine v(ID:3.1203)..
<ID:0/003> File analysis..
<ID:0/003> SetupConnection..
<ID:0/003> Initialzation..
<ID:0/003> Get PIT for mapping..
<ID:0/003> Firmware update start..
<ID:0/003> SingleDownload.
<ID:0/003> TWRP_3.1.1-0_a5y17lte.img

You should be okay based on those log output nand write start did not start. Nothing that is not recoverable. Just simply:
1) disconnect usb
2) reboot the phone
3) restart odin
4) Try again
During the super important stuff the log states: DO NOT TURN OFF TARGET!! if it happens again you might need to try a different odin version.


text:
TWRP Internal Storage(0 MB)
I am trying to root my Samsung A7(2017). I have installed twrp to my phone but when I open it to install SuperSU it writes Internal Storage(0 MB) therefore I can not access to SuperSU. I am searching this topic for hours and tried many ways but couldn't solve it. How can I fix this problem?

Sounds like your internal storage is encrypted.
In order to fix this

boot into the Android OS.
Set a screen lock PIN or password.
Make sure you save it as requiring password on startup.
Then bootup into TWRP and it should ask you for your password to decrypt.
Put in the correct password

Your files should show up again.

I did that several times and it did not work. While trying to solve it I mistakenly deleted the OS. I am trying to fix that for hours. I have downloaded os from sammobile for a7(2017) but when I try to upload it from odin to my phone it stuck at setup connection  and after some time it says fail and gives the following error on the phone SW REV. CHECK FAIL(BOOTLOADER) DEVICE: 6, BINARY: 5.

TWRP 3.2-3.0. I have downloaded the latest version of android for my device and I can't downgrade if I waned to because there is no OS in the systerm.

Thats the exact thing I am trying to do but I get this error SW REV. CHECK FAIL(BOOTLOADER) DEVICE: 6, BINARY: 5 on phone and odin says FAIL.

The first link was the one I downloaded but now I am downloading the second link. https://www.sammobile.com/firmwares/galaxy-a7-2017/SM-A720F/TUR/download/A720FXXU5CRH3/234895/           https://www.sammobile.com/firmwares/galaxy-a7-2017/SM-A720F/TUR/download/A720FXXU6CRJ7/241199/

The the second link you should work. A720FXXU6CRJ7 device 6 binary 6. The first will not work A720FXXU5CRH3 device 6 binary 5

If the first solution does not open your encryption door to show your internal storage within TWRP. There is another option that should correct your internal storage issue. Format the Data, however it will cause the loss of your UserData. If the data is important to you, make a backup the /data partition. There are two simple approaches: one is through fastboot, the other is within TWRP. Since your device is a Samsung that negates the fastboot option.

Boot your device into TWRP recovery.
Within TWRP select the wipe option.

Select Format Data, and then slide the bar over on the bottom of the screen

This will format the encrypted /data partition erasing the encryption. A new un-encrypted /data partition will be created, thus making your internal storage visible.

Thank you for your help. I have fixed the issue and I can use my phone once again. I have also rooted it with magisk. It shows that it is rooted on root checker but when I try to run an app which requires root, the app doesn't respond, work, or sometimes even the whole phone crashes. I have doubt that perhaps I haven't downloaded the root right therefore I deleted everything and rooted again but the same thing happened. What do you think are the causes of this problem?

It could be a few things what app? You should really ask it as another question with detailed information. Increasing your odds on finding a solution faster.

I have tried to run many app such as csploit, zanti, wifi kill, netcut, luckypatcher, etc.App asks for  root access, magisk gives the access. Then program doesn't do anything or crash.


text:
Installing TWRP on locked Sony Z3 Compact D5803
I was googling that for ages and couldn't find any decent solution.
I have locked Sony Z3 Compact [D5803] and I need to install TWRP and backup the current OS.
I CAN use flashtool to install custom files that had been downloaded from xperiFirm but it seems like impossible mission to root it afterwards :)
I was also trying this article here :
https://forum.xda-developers.com/z3-compact/general/recovery-root-mm-575-lb-t3418714
...without any success.


text:
Can't access screen lock type settings
I've recently updated my Moto G5 to Android Oreo and since then my lock screen automatically changed from pattern to swipe..
When the phone boots up it still asks me to "enter your pattern to start android device" but after the device boots up it never asks me the pattern again..
I've tried changing the lock screen but as soon as I click on change lock type I get an error "settings has stopped".
I've cleared setting app's cache, data and force stopped it, but no use.
I've cleared my security credentials
I've booted into safe mode to see if any app is causing the problem, nothing happened.
I don't want to hard reset my phone as it has a huge amount of data and taking a backup will be a huge headache

What's the current setting for lock screen? PIN/Password/Swipeup.


text:
How the device (that is off) decide how to publish itself for USB: "MediaTek PreLoader USB VCOM port" or "MediaTek USB Port" device?
How the mobile phone (that is off) informs the Windows PC (with installed drivers "MediaTek PreLoader USB VCOM port" and "MediaTek USB Port") how to identify itself: as device
- "MediaTek PreLoader USB VCOM port" or as
- "MediaTek USB Port"?
When I plug the phone to USB, Windows PC connect it sometime through "preloader USB", sometimes through "just USB" ports, sometimes both  in sequence  (I see it from WMI events). I don’t see any pattern related to "time after next attempt" or "volume buttons pressed".
P.S This is "the phone off" state when battery is inside. What are correct names for those states (battery "in" and "outside")? When battery is extracted - device is not recognized as USB device by PC.

I can't see the question here ?
Are you asking what the driver is for ?
Please have a look at this video to understand what the preloader is, MTK Backup & Restore
The Mediatek Preloader is used for flashing new image's to your device.
Their is two different boot loaders on Mediatek device's..

MTK DA USB - For flashing the Preloader
MTK Preloader  - For flashing all other image's

How does it register as a device while it's off ?
This is so you can fix your device when it won't even turn on, it need's to be before the boot of your system.
I hope i somehow answered the question here.

Thank you. It is become more clear. But I still do not understand how the device decide that "at this moment I should be handled by MediaTek PreLoader USB VCOM port but next time as MediaTek USB Port" ? This is what I observe when plug the phone (that is off) to the USB. Sometimes it is connected through  “MediaTek USB Port” driver sometimes as for "MediaTek PreLoader USB VCOM port" driver... Answer could be "when you press the volume button it will be handled with PC preloader port driver" (but the problem is that I do not press any buttons and it is still get variety of results)

I have always had my MTK device's do this... It is because the Preloader only connects very shortly, it requires the PC to make a Handshake to hold the connection... If the PC doesn't make a Preloader Handshake, it'll drop the preloader and connect via Meditek USB Port ( CDC ) instead of Preloader... As fas as i can tell, it's just a fail safe

Also, i believe on some older models, you could hold volume down or up. and it'd hold the preloader connection open, for easier driver installation... It gets annoying using device manager because as your about to click on the port and install the driver, it disappears or change's, making driver installation really annoying.   I've always found it easier to manually install the drivers prior to connecting the device.

But that is not what I observe with my Alcatel Pixi 3. As I said - I observe totally random behavior: sometimes handshake for "just USB" sometimes for "preloader USB", sometimes (very rare) two in sequence as you said (but with different order: "just USB" first "preloader USB" second). I have tried buttons but they do not change anything.
Lets decide this is a kind of bug.
What kind of program (how you call it) propose handshakes?

I mean "What kind of program run on the phone when it is off (but battery is inside)?" Is it a "BootRom" - I have met this term several times..

One more question, what does it mean " click on the port " ?

When both devices are recognized by Windows computers, they're separated by Port Numbers ( MTK USB - Port 47 ) ( MTK Preloader - Port 48 ) ... This is to help the computer differentiate the two devices connected ( It seems weird but I'll explain ) ... The MTK Preloader & CDC Device's are a part of the CPU ( Mediatek ) firmware, it allows flashing like Fastboot for example... You use the drivers in the factory, The CDC Driver is for writing heavily secure parts like the IMEI numbers, The Preloader is used for writing to the storage for placing the system firmware.    Think of it like this...

On some device's these ( terminals ) are only accessible by pulling the back off your device and using a cut up USB cable and some paper clips to touch the right terminals ... MTK made it as simple as using the USB port for writing to the device... If that makes sense.


text:
Exclude some apps from "close all"
Is there a way to exclude some apps from "close all"?
I sometimes have many apps open on my device and want to quit them all except Spotify (for example) because I am listening to music while doing that. Spotify in this example could be "force closed" manually, not with the other apps (as default now) .
Edit
Device: Sony Xperia XA1
OS: 8.0.0
"close all" option is seen when clicking the right key on lower status bar
Reason why I'd like to close apps: I have a battery issue, and if I leave my most-used apps in background, it negatively affects battery life on my device

Also,why do you want to close other apps (barring Spotify)?

Have you tried the feature mentioned here? It kind of prevents an app being swiped  from recent apps list too.


text:
I switched my internal storage to Sd card and it still won't let me download apps
My phone has little to no space so I used an sd card as internal storage. It says I don't have enough storage even though the sd card has 30 gigabytes left.

How did you "use an sd card as internal storage"? What device and what version of Android you are using? Do you have root access? Please elaborate by editing question.

It's probably still overloaded.
The option to use SD Card as internal storage is slowly disappearing because it avoids using the permissions for external storage and allows applications unrestricted access to every sector on the card, so expect it to disappear in newer Android versions.
If you are using a device that allows what you've mentioned.
The Applications installed prior to the switch over will still be on your internal storage, allso all of your stuff like photos, music, videos will still be consuming space on the internal storage, this will impact performance significantly on some devices.
You need to move all your applications to SD first.

Open Settings
Open Apps ( Samsung's it's More > Apps )
Select the first downloaded Application
Select Move to SD Card
NO OPTION FOR MOVE ( GREY )
The developer has selected Internal Storage Only, so you can't do anything with this, move on to the next one.

Move All Files Over To SD Card
You can find apps for automatically doing this.

Open your Stock File Manager
Navigate to Your Old Storage ( may be Internal or External )
Select All Folders and Files in the root directory of the Old storage
Copy All Folders and Files to the New storage  ( largest generally - the SD Card )
Once you've waited 50 years for it to copy, you can safely Delete everything on the Old storage ( free up the space )
Don't MOVE the Files and Folders in case something goes wrong, you'll still have it ready for copying again.

Now you should have some free storage back on your device.


text:
Is there a way to turn on Reading Mode on MIUI using terminal commands or adb?
Background
I have been using a Xiaomi device running MIUI8 and had the option of enabling Reading Mode (use of contrast colours to reduce blue light emision) on select Apps (which was great) but upon upgrading to MIUI9 this feature is now only available on system level i.e its either Reading mode is on/off thus you can't turn enable it automatically when you open a specific app and it doesn't automatically turn off after closing that app.
This is annoying because you have to manually enable and disable it. (Scheduling it is out of question because its its manual and you don't always use the specified app at the same time).
My idea
My proposed workaround is using a terminal command/adb together with tasker to enable Reading mode automatically when a specified app is opened, then have it turn off when done :). Right now I am not sure of the shell command to use, and which setting variable to target, perhaps somewhere in the settings database (I strongly feel the relevant file to modify in the file system is
data/data/com.android.providers.settings/databases/settings.db

Question
Is there a way to enable Reading mode using terminal command or similar. Any other workaround is appreciated ?

I don't think there is anything related in Settings database/xml files, at least in MIUI 10. I searched through the three lists, and found nothing related. Even in logcat, the relevant entry was W         : [ColorAdjust_C3B] result = 0 eyemode= 0. Eyemode changes to 5 when reading mode is turned on. I looked into system properties and found persist.sys.display_eyecare which also changes to 0 and 5. I think changing it directly or using resetprop of Magisk might achieve something. Unfortunately, I can't change it without root access, and I can't afford to root this phone (not mine).

@Firelord thanks a lot for this input, meanwhile let me see if I can figure out something with the leads you've given me


text:
What are the risks involved in unlocking the bootloader?
A locked bootloader is one that will only boot an OS and recovery that it "approves" of. Vendors digitally sign the recovery, kernel and kernel modules and unsigned binaries are refused to flash and boot. This is same as Secure Boot provided by UEFI.
In PC, one can simply disable the Secure boot by choice if one wants to boot unsigned binaries. But on Android devices, every vendor has its own lengthy process to unlock the bootloader like providing unlock tool, unlock code and device registration. Vendors are making it even harder like HMD initially refuses to unlock Nokia bootloaders and Huawei will stop providing bootloader unlocking for all new devices.
So how does a locked bootloader strengthens the security and privacy of end user or  does it serve some other purposes too?

A PC is an open platform, a Smartphone is by design a closed platform (e.g. for security reasons). That it can be opened/unlocked is optional.

@defalt One of my favorite topics but not conforming with site policy. A few of my thoughts you might be interested in: https://forum.xda-developers.com/android/help/info-android-device-security-privacy-t3637290 https://forum.xda-developers.com/android/general/info-to-instal-windows-ios-linux-t3763961

Check thi out: https://101android.com/why-unlocked-bootloader-dangerous-for-privacy/

Locking you bootloader is really telling your device to check the signature's of specific files to find if it's a genuine image.
If it's found to NOT be genuine, it will not allow booting, as well, it won't allow flashing of the image.
If the signatures all check out, then it'll allow the flash or boot ..  If you used the "Universal Signature Vulnerability" you can bypass nearly all signature checks on many models.
Some applications that you can install on your device don't require anything other than an internet connection to connect to a database of vulnerabilities, the application will run through the vulnerabilities until it gets a successful hit on your device and then exploits your system using the vulnerability...
These applications can install modified image's and ultimately makes locking bootloaders a thing of the  past...
KingRoot is one of these software's, it doesn't require unlocking the bootloader and specifically states that you are not voiding your warranty if you remove king root prior to returning the device.
The main thing about locking bootloaders, is it's a little too late... Software has gone far beyond using Fastboot to do flashing, most the time, Fastboot has size limitations and NEW devices have massive image's that can't be flashed without splitting the image..  It's almost never used anymore, most companies use their own software to connect to the bootloader now, like Odin, SP Flash Tool, LG Recovery ( something like that ) ...
The fact that you can flash a custom recovery without ever touching Fastboot ( OEM Unlock - go )  and that recovery can flash all your partitions, makes unlocking bootloaders the prehistoric way of doing thing's if you care about your warranty.
Bootloader locking in my opinion is to improve users experience with the default system, People are starting to preffer systems like CyanogenMod and Other popular custom ROM's ... Could you imagine if one of these custom ROMs become the most popular OS, above Android that it's built on...
If you ask me, it's all a bit touch and go with the legalities of disclosing kernel sources, As android is an open source project, you are meant to follow the open source licences..  This means it's technically not legal to withhold some of the Open Sourc Licensed code ... meaning to fully disable the ability of others to have access to the source code would be a violation of the Open Source license's that Android uses...
Some companies thought they had the right to withhold the source code to stop people making modified boot inages for the device, but they soon found out the opposite and released the open sourced code for others to have the same access.
It's all a bit up in the air at the moment because Android is built on Linux, Java, XML Layouts etc... None of these things are owned by Android, android is simply a concoction of other systems, therefore most of it can not be claimed as the ownership of Android and therefore Android MUST be an Open Source Project to comply with the open sourced licenses of Linux, Java, etc.....
Ok so, most companies would need to build an OS on top of Android and call it something different to ever have the rights to withhold access to the bootloader source code ( kernel )  and then probably still not.
I guess I'm saying, Unlocking the bootloader has now been bypassed and therefore the purposes of locking it are now ...  none.


text:
Prevent Gmail from adding calendar events from emails
Every time I buy a plane or train ticket, gmail automatically creates a calendar event relative to the flight/train. I would like to disable this feature; I've already tried to do so from the google calendar options, but that didn't stop the calendar events from being created.
I suppose it's the Gmail app on my phone that does that, but I can't find an option to set to make it stop.

AFAIK this is already done in Google backend. Google scans all your E-Mails - see for example this article on that topic.

Gmail scans emails and automatically adds reservations to the calendar to remind users of the upcoming events.
To stop reservations from being added to the calendar, you must follow the steps described in Events from Gmail

Open the Google Calendar app.
In the top left, tap Menu Menu and then Settings.
Tap Events from Gmail.
Switch off Add events from Gmail.


text:
How can I Ungoogle my Phone?
I would like to get rid of everything Google and use open Gapp pico or nano instead.
I have root access
Running Android 7.0 .
There's no working custom ROM for my phone(infinix note 3 pro)
Is there a script or flashable app that can ungoogle my phone ?

The easiest way would be to install LineageOS for your device. By default it is Google free.

My infinix note 3 pro doesn't have lineageOS. Custom ROM available is buggy and wouldn't install.

You can't until you don't stop using Android. However if by un-Google you mean removing proprietary apps developed by Google, make a quick search by: find //app/ -name com.google.

See related question. First comment under the question points to a blog that is very detailed and should help you

You are aware that you're basically asking to get rid of all beef and have cow instead? OpenGApps are just bundeling Google Apps – those apps still remain Google Apps. So what's the sense of "ungoogle" if you just install GApps afterwards?

This is a very easy task if you are familiar with root access and your device is running a custom recovery like TWRP, Philz or CWM.
First you need a full gapps package, this will be ready to be flashed via the recovery and needs to be provided by OGapps.
( The reason it need's to be provided by OGapps is because Open Gapps already has a removal script that will run prior to installing )
The Gapps Installation Log :
- mounting system
- removing old installations
- installing open gapps
- updating system
- unmounting system
- Done !
The above is just a example, but generally what you'll see.   It removes the old google apps first.
Ok, so now you've installed Gapps you'll need to manually remove software that didn't get removed.
This is usually application's that you've updated, even though the SYSTEM has a new APK, the DATA still has an updated application installed, so you'll nees to remove any updates to apps applied from the Play Store previously.
I've never actually had to remove an update from DATA myself, but it's recommended in case of problems... however the OGapps package seems to clean everything up before installing.
P.S
Android is Linux with Java & XML interfaces.
It's conveniently named Android to identify the people that joined these thing's together.

I will try this.


text:
How to duplicate screen on a secondary monitor in Phoenix OS?
I usually use my laptop as a CPU. I put it aside and it is connected to a screen via a VGA cable. Recently, I installed Phoenix OS in my laptop,  but nothing was displayed on my secondary monitor. In windows 10, I only have to press "Windows + P" to see split screen option, but in this OS I couldn't find such settings.
How to get that setting?

Replace with this command on grub.cfg
(if dual boot with Windows 10, then search how to edit grub.cfg on Windows 10):
menuentry 'Phoenix OS--ext display' --class android-x86 {
    insmod part_gpt
    insmod fat
    search --file --set=root /EFI/PhoenixOS/kernel
    linux /EFI/PhoenixOS/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=/PhoenixOS vga=788 video=1920x1080 video=eDP-1:d
    initrd /EFI/PhoenixOS/initrd.img
}

where 1920x1080 is my secondary display resolution, eDP is my laptop screen, and -1 disables it. In your case, it may be LVDS-1:d. Try to add both.

Just assign a drive letter to your boot drive using disk manager or any other free partition wizard software. and navigate with windows Explorer.and remove drive letter after all done (use explorer ++)


text:
How to completely clear my device of a particular company's apps?
Owing to a recent Motley Fool report of Google's actions pertaining to Cheetah Mobile apps, it occured to me that I would like to either uninstall or disable (in case uninstall fails), the apps related to this company, and other companies, if need be. Now exposed as employing questionable techniques on even one app, it is unlikely I would ever trust any installed app from that company.
What easy technique to recognize a company's apps are on my device and uninstall them, even if their app names, or their developer names, or their company names are obscure?

The easiest way is through the web for Google Play. Using the seach bar, bring up the name of one of the suspected apps like Clean Master or any of the apps listed in the article like Kika. Using this page, click the hyperlink for the COMPANY, below the appname. This will bring up all apps for that company, and the card for each app that you have installed will have a green check mark in the bottom right of the card. Selecting in this fashion allows the user some confidence that all his apps from that specific company can be identified. Unfortunately, while the specific app card yields a pseudo-button "Installed", it does not allow uninstall or disable via the web interface. Using the list however, the user would search out, uninstall (or disable) the now-exposed apps directly from the device.
Settings > Apps > <selected app> > Uninstall or Disable

+1. Also, if you know the publisher's name, just use in Play Store (for web portal and app both) this query: pub:PUBLISHER's NAME  (case sensitive). E.g. pub:Cheetah Mobile and pub:Kika Tech Inc.

This might be more imperative to do based on a new report out about Cheetah, and Google Play actions against them. See this: https://www.xda-developers.com/google-bans-600-apps-play-store/.

Android package identification is not easy.
I can call a new application anything i want to, their is no designated spot to write the company name for searching.
Ok for example,
 i could call my app region.company.appname as the guidelines encourage developers to use this format when naming application packages... com.company.tester  for this example, COM is the region ( Commonwealth ) , Company is the company name and tester is the app name.
To identify applications made using the same naming rules and using the same company name, you'd need to look at the package name for all application's and find the corresponding company name.
This won't show you everything because the developer can easily call the app anon.unknown   now the region has been removed, the company is Anon and the app name is unknown...
This makes it extremely hard to recognize all package's by a specific developer.
Back in the day, Google's Play Store only required the application to be signed by a developer key ( used for all apps ) however now developers need to create a new key for each application that doesn't share userID's.
You could have previously checked the Key Hash for all applications and the one's using the same Key are from the same company ( developer )   ... however this has changed.
In my experience, their isn't any regulation on leaving a footprint from your company.... If you wanted, you could make your company name the same as you application name ... For example, Facebook is by Facebook, The company may have been created specifically for the application, therefore the company is the same name, meaning each and every application will be made by development team for that application.
So, other than relying on the developer to use the same naming rules for every application... It's not possible to find all applications made by a specific company...
The company may have side projects that use their respective names as the identity of the creator.
The only possible way is if the IDE ( Integrated Development Environment ) places some sort of digital fingerprint on the software using information from the hardware of the computer... this can still be avoided by using a different computer to develop on.
So as far as i know, it's not entirely possible.
The best alternative is to read the package names and find corresponding companies ( shared user ID's & package names ).
If the application is installed in your System, you can't uninstall it without root access, so you'll need to Disable the app instead.
System > Apps ( Samsung's it's More > Apps ) > ( Selected App ) > Disable.
I hope the developer hasn't used different naming rules for each application etc .... good luck finding them all.

Thanks for all of that. I designed my question and placed it here to be for the casual user, rather than a developer. Your answer has a clear "let's dive into the code" feel, especially the parts about developers keys, Key Hashes, and IDE fingerprints. Your answer does coalesce alot of what a developer would consider employing to make easy name detection difficult if not impossible, giving this question's target audience (Cheetah/Kika victim) a bit of additional information to be successful.


text:
Bootloader/BIOS, flashing ROMs and related risks. Why are Android devices more brickable than PCs?
I have solid experience with installing different OSes (Linux, Windows,...) on PCs. I would like to try just for fun to install Linux on an unbranded Android low cost tablet acquired in 2015. I spent some time browsing the web and as far as I understand there is a risk that during the flash procedure the device could be potentially damaged. So I read extensively on how to backup the ROM using TWRP and all related matters. I would like just to have some explanations on the below topic:
Scenario #1:
I have a PC, if I want to try another OS I can just format the hard disk and install it, in no way is there a risk of damaging the BIOS or motherboard. Motherboard and hard-disk are separated, so no problems can arise.
Scenario #2:
I have a tablet, want to wipe out Android and install an upgraded version of Android or a Linux distro suitable for mobile devices.

Why in this scenario is there a risk of ending up with an unusable device?
Is this because in this case the motherboard and unit memory are bundled together? So wiping the memory would also erase the configuration settings of the motherboard?
Do we have here the equivalent of BIOS settings?

SHORT ANSWER:
Android phones are more brickable than PCs because they can hardly communicate with us if the bootloader is erased. And bootloader(s) live on Flash memory (eMMC) partitions which are prone to deletion quite easily (even during an update process). If you unluckily damage these partitions or they are worn out, there is a great chance you won't be able to communicate with device ever afterwards.
See Boot Process: Android vs. Linux and Android Device Partitions and Filesystems for details.
LONG ANSWER:
A device is considered bricked if we are unable to communicate with it. Now let's see how we communicate with devices at very lower level - say - when there is no Operating System installed or it gets corrupted/erased accidentally.
PERSONAL COMPUTERS:
There is a standardization in PC world. BIOS is a mature firmware that provides a well developed platform to communicate with the system. It has ability to enumerate the hardware i.e. load basic hardware including motherboard, CMOS/NVRAM, RAM, hard drive, optical drive, graphics card and screen, keyboard, mouse, network card, and other peripherals connected to USB.
During Power On Self Test (POST), BIOS identifies all above said hardware by communicating at all internal and external buses whose paths are hard-coded with BIOS, sending them a signal like who is where?
UEFI - an evolution of BIOS - overcomes the limitations of 16-bit operation mode and maximum 1MB RAM usage. It's a minimal OS in itself which can even recognize and use filesystems, providing a better user interface, more configurable boot options and support for larger disk drives.
After this initialization of system, BIOS/UEFI reads bootsectors/bootloaders from bootable media like hard drives, USB storage or even network. It means that a PC is able to communicate with us even if there is no hard drive installed; it'll inform us: No bootable media detected. It's because BIOS/UEFI is stored on Electrically Erasable Programmable Read Only Memory (EEPROM that evolved from ROM, PROM and EPROM) connected to motherboard. If you somehow manage to erase or damage this EEPROM, yes your PC will also be bricked but that's rare.
ANDROID DEVICES:
Now coming to Android devices, hardware components are not connected to motherboard through buses, instead the core components that include CPUs, GPU, RAM, Flash/eMMC (equivalent of HDD or SSD), WiFi and bluetooth module, USB connectivity, UART (serial ports), JTAG (a very lower level serial communication protocol), GPS, modems (for cellular connectivity) are all built on a single System on Chip (SoC). Most of these components are not discoverable by SoC firmware (roughly equivalent of BIOS/UEFI) unless a Device Tree is loaded by final bootloader (e.g. ABOOT) into device memory i.e. just before kernel (OS) is loaded. And if you have no OS on the device, you are just depending on the minimal communication protocols provided by bootloader(s). At this stage only a few hardware components (usually graphics, NAND and some way of serial communication) are working, and that too with limited functionality.
Manufacturers may provide protocols at pre-bootloader or bootloader level e.g. Download Mode (QFIL / QPST / Qualcomm HS-USB QDloader 9006 and 9008 modes; PS: I don't know much about MTK or other SoC vendors), Fastboot, Odin etc. But these - Service Modes; what they call it - are disabled by OEMs for security reasons and as a part of their business strategies. Some manufacturers allow unlocking these service modes at user's risk after special approvals. Some hacks may also be used e.g. finding some test points on main board, shortening USB wires, using JIGs etc.
Lower level communication protocols e.g. JTAG are for development purpose only and those are almost impossible to be discovered and used for repairing purpose, though the same would have been possibly used for initial writing of firmware (including bootloaders) to flash memory. Some hacking tools like eMMC Flasher boxes/adapters may also use similar protocols for IMEI unlocking and other "black" stuff ;)
Also there have been successful attempts to boot Android from USB / UART ports but that's very rare now a days and requires a lot of technical knowledge and hacking skills.
All of these methods used to unbrick devices are not officially supported by most of the vendors, vary from vendor to vendor (not standardized) and are poorly documented for end user's usage.
That's why Android devices (or generally saying devices with embedded components) are more brickable than PCs.

RELATED:

Can I flash Android on device with overwritten mmcblk0?

SOURCES:

Device trees I: Are we having fun yet?
Android vs. PC

See Also:

Why mobile phone manufacturers lock their devices?

How did you know these info ? Where can i learn more in detail about what you just wrote ? Are there books that describes how to rewrite the eMMC ?


text:
Google logs my activities wrong
My Google activities log says I have been messaging people late at night and in the early morning, but I know for a fact I haven't. Plus I have a search on my Google maps I never did. These things are putting a strain on my marriage and I want answers to why this is happening to me. I rarely go anywhere due to me meaning a stay at home mom. I want answers and I want to be able to show my husband that I'm not lying to him about any of this. I'm also getting to were I don't want to do anything on my phone far as searches, texting or making calls.

For maps showing wrongly see Google Maps Location History is showing an incorrect location. For messages etc, please provide more information as also the device used and Android version

It is showing an incorrect location that I never did search and my husband and I both have seen it. The problem with this is that the place is a road like 20 minutes away from  me and I never look up a road.

I've had similar mysterious activity showing up on my account in the past (albeit, several years ago).  It's important to remember that your Google account, and thusly your usage history, can be shared across multiple devices, including a mixture of desktop, laptop, mobile, even TV and assistant enabled devices like Google Home.
I spent a moment going over security and reviewing my account  - it sounds like you would benefit from the same.
First, visit https://myaccount.google.com/
Secondly, sign in to your Google account and you should see some options on the left side pane:

Under Data & personalization, you can review your privacy settings and also see location history.  Clicking on Location History reveals a page where you can review which devices are contributing to your accounts history.  Be sure to have only the devices you actively use as checked.

Under Security, I highly recommend turning on 2-step verification.  Also, make sure you have no security issues including any unidentified sign-ins from devices you don't recognize.  You can revoke access to your Google account on a device-basis from this screen.

Under People and Sharing you can view who is sharing content with you, including location history.  You can also control which content you see, of course, including location sharing.

In regards to your mobile devices, make sure you audit and remove any suspicious looking apps that you may not remember downloading.
Finally, reset your Google password.  This is the single best security practice and often the most overlooked.

Your messaging activity is not normal... I'd suggest placing an SMS logger on the device to double check no application is sending messages without your permission, you can find them online ( try searching Parental Control )
I feel that you may be searching for an answer that doesn't exist, are you sure that your location is wrong... For example, You mention that the location is actually near you, this can be two things, The amount of satellites that are deciding the location.. ( On Android, the GPS is not super accurate, it's based on several methods of accumulating location based information to calculate your location - WiFi Device's your near ( connected or not ) - Radio tower your connected to, or multiple towers ( triangulation ) - NFC devices you've passed, that are identifiable by a location ) ... For example, if you passed a Free WiFi Hotspot, your location would be linked to the location of the hotspot owners address )
You will often have an incorrect location ( sometimes up to 100 klm out ) - ( It should say the accuracy of the location based on several algorithms )
So the GPS location might be the radio tower your Android is connecting too, It could also be a WiFi Hotspot that your device is recognizing or it could be your Device hasn't found enough satellites to calculate an accurate location yet ( it usually warms up and calculates the location within 1 meter accuracy at 3seconds - so pay attention if it's GPS based accuracy or Network Location based accuracy ).
As for text messages ... It honestly sounds like you're lying at this point, but it is possible... Some applications can take control of your phone completely through sms commands, the device gets a message and the application hides it from the user, the message tells the app to send back the (eg. call log ) and the app sends a silent message with the information requested by the command SMS ) ... These apps are called SpyWare or MalWare ( Spying & Malicious ) you should open Setting's, Apps, and look through your apps, searching online for each one your unsure about.
P.S Some apps send messages in the background for certain thing's like verifications via SMS etc....


text:
Browse only really free software on the market
How can I browse Google Play so that only apps/games that have no ads and no internal purchases are seen?
Note I am not talking about dedicated third party free stores, but about the actual Google Play. (Although that's a nice extra to list some 3rd party stores, but maybe it should be asked separately).

Perhaps you may need to patch Google playstore (not sure how to do that :(, but speaking of 3rd party apps, you need to take a look at Aurora Store its clean UI, has filters for free/paid, ads/no ads, gsf/no gsf, if you are considering alternatives

a) switch over to F-Droid which has only FOSS apps and doesn't permit proprietary trackers, b) use Exodus Privacy to check the apps, c) use my app listings which point out tracker infected as well as tracker free apps :)

I'm hoping for this feature as well. maybe a custom search on Google could give some results.

For list of third-party stores see What are the alternative Android app markets?


text:
How to fix TWRP bootloop caused by an OTA update attempt on rooted phone without losing any data (including apps')?
My wife, unfamiliar with rooting, agreed to update my rooted Moto C Plus when it requested an update. Needless to say, that didn't turn out well. As a result, now my phone is booting only to TWRP.
I would like to get it to boot normally again with all my data intact...meaning: everything the way it was (including my Google account) prior to this problem. Is it possible? How?
Phone: Moto C Plus (xt1723) 2GB Ram 16 GB Internal memory
OS: Android 7
Flashing tool: MediaTek SP Flash tool v5.1644.00

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

Ok... This is possible, but it's a long task....

I know this is old, but I just saw it... The typical answer here is in TWRP just wipe the cache partition and reboot, at least it always has been the answer with Moto devices in the past. The update is held in cache, wiping cache removes the file and it is not seen by the bootloader, thus the boot progresses normally loading the kernel instead of starting recovery, leaving all apps and data intact.

Download a Stock Firmware
Backup Data in SP Flash Tool  (SPFT)
Flash Stock Firmware in SPFT
Restore Data in SP Flash Tool

A few things before you begin,

Never Use OTA Updates with Root Access or any customizations, Install the stock recovery first, and remove root access if you must have the latest update.
This information is intended for advanced user's that are familiar with SP Flash Tool and Meditek CPU's
You agree to take full responsibility for any damages and/or legal action that may arise from using and/or following the information in this guide.
DATA Partition,
The DATA partition holds your Apps and Data, it's the partition that gets wiped with a factory reset... So provided that you mean all the data that gets wiped in a factory reset.. This is the partition you'll need to backup in SP Flash Tool

Backup
I have answered this question many times, so to stop myself double handling the question, i made these two video's, this cover's nearly all aspects of using SP Flash Tool from Image Firmware Extractions to complete device clones and backups ... You'll need to watch these video's to get a better understanding of SP Flash Tool and what it's capable of...
Please be aware that the original video i made was over an hour and a half, i know nobody is going to watch that so i shrunk it to around 25min each video..
Also, i taught myself all of this over 4 years of tinkering and bricking devices... it's not something that can be lightly skipped over.
MTK Backup & Restore
The Second Video is the main video I'd like you to watch, it focusses on individual image extraction.
I don't have the link, but it's at the bottom of the page ( The Sequel - )
Ok so after you've done a DATA backup using your scatter file from a firmware online... You can go ahead and install the firmware...

After installation, restore the Data.

Easy as that :)