text:
Swiftkey - How to handle Auto Capitalization with URL and Email Strings
I like a lot about Swiftkey. But after a few years of using it, some of the annoyances haven't been fixed and I haven't "eventually got used to" the nuances of it like I thought I might.
This one has me stumped.
Enabling auto-capitalization means typing out a web address, or email (or anything with a period in it for that matter), adds spaces and capitalizations throughout the string. Trying to get it to type out correctly, while the fragmented string is also changed to auto-corrected words is unimaginably infuriating.
So I gave up and turned off auto capitalizations, lowering myself to texting like an imbecile, all in lower case (because who's got time to hit the shift key - am I right?).
Enter a second bug.
Swiftkey, when I can be bothered manually capitalizing a word at the beginning of a sentence, seems to think I want that text saved to the custom dictionary. So, for example, the text: Swiftkey drives me crazy. Absolutely throw my phone against the wall crazy. Will result in the word Absolutely being saved to the dictionary. Next time I go to use absolutely in a sentence it comes in capitalized as Absolutely.
Enter a third bug.
Swiftkey has a neat feature where you can long press on a predicted word, and elect it not to be predicted again. Great, if it worked. Long pressing Absolutely and selecting this, removes the word from the custom dictionary, completely, including the original, correct word. Next time you go to type absolutely and type accidentally type abbsolutely or some other fumble, it is not corrected to absolutely because that word is gone. Instead something else is dropped in. absolute for example, or worse perhaps, your mistake goes in abbsolutely.
Ideally I'd rather use auto caps. And have some way to enter strings with periods better. But with it off there is an unacceptable series of bugs that I think need to be fixed.
Am I doing something wrong?

The email thing is really annoying and it's shocking that it still hasn't been fixed.

For typing a web address if you start typing with www (case matters here) and then hit period, the auto-capitalization does not work and you can normally type your URL. For other queries I think posting them at SwiftKey's Support page for Android would give you better responses.

OK that's good to know. Thanks for the response. What about typing email addresses?

@square_eyes: Regarding email addresses I don't have any idea.


text:
Connecting Android to itself
How can I connect my Android to itself?
On a PC you use localhost or 127.0.0.1
I have two apps that are supposed to live on different devices. One talks to the other after you put in its counterpart's IP address.
I want these two apps to coexist on one device. I thought it would be easy, since on a PC you just use localhost:port and everything just works through the loopback interface.
Well, this isn't working on Android. Is there an equivalent?
Googling just shows up web devs wanting to point Android to thier local PC dev environment which is not what I want.

Since apps "talk" to an IP address on a specific port, could you check if those two apps use the same port when listening? Is one supposed to talk and the other to listen? Are they able to do both things?

source: Stack Exchange

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

sort: votes


text:
How to backup Android system and Apps with their configurations?
I ve been trying to find way to do a image backup then restore it back to a re-set device.
I dont think adb backup / adb restore can do this.

I installed all Apps and configured all settings for system and apps.
I did a [adb backup -all -f c:\xxx.ab] also tried other parameters. basically i backed up everything.
I reset my andriod back to factory state.
I did a [adb restore]
I dont see any app show up on my android and no system settings has been configured.

How can I do a whole system image backup with all apps installed? The whole point is i need to used this back to restore into other same devices, so i dont have to go through the whole app install process again and again.

Some more info, The reason that I am trying to do this is that we have 60+ android devices (MK902 Android box)need to be pushed out in our building, on each device, I have to root it, install all Apps, configure system and apps. it is painful to go through this process on all devices. So I am thinking if there is any way to make a whole system image just like what we do on windows, then I can put that image into rest of devices, and change the device name later.
I used RK batch Tool to load a rooted img file into device for rooting. this img file contains boot.img, kernal.img and so on. I was trying to install all Apps and configure everything then make a img pack. but looks like it is too hard for me....i dont find any easy way or software to make this .img file.....

Did you try adb backup -all -apk -system -f c:\xxx.ab ???

Yes, I did and adb restore wont bring anything back...even the process was success

Make a batch .zip package with all the apps, instead of .img. Install (flash) ROM first on devices, then install batch zip. That way adb restore wont be involved.......Another way would be to customize your ROM by removing all unnecessary apps, insert all all apps needed for company deployment,ZIP and sign package, then incorporate an OTA update with all app data.

This is what i do now, load rooted rom and install all apps from adb by batch. but i still have to configure each app and system...that is what i m trying to avoid...

Set the apps you want in the device as system apps, then locate the settings and preferences files for the system and user end apps (you only have to do it once), place them in the customized ROM you make. You'll be running in a networked environment I'm presuming, so you can send updates. Set up a server, then config device for automated updates.

@hash_brown this sounds like a better way,  i will try that. thanks.

So from what I understand, you managed to back up and restore the ROM itself (system partition) but not the apps. Basically I'd recommend:

Backing up the ROM with the backup option on recovery. I don't remember if it means your apps will be backed up as well but I think it does.
You can use Titanium backup or Hellium to back up your apps. The backups will be saved on your phone so after your backup, transfer the backup files from your phone to your computer and once you're done restoring, transfer those same files from your computer to your phone and use one of these apps (whichever you chose) to restore your apps.
Notice that you can backup system apps as well but it is not recommended as it might give you FC's (force close).

@Izzy, since I can't reply on your answer (not enough reputation), I will reply here. Please note that he can use Helium, which is just like Titanium backup but does not require root access so that can work for him.

It is still not what i m after. I need a solution that I can have everything (sysetm, apps and configurtions) in one .img file, so i can use it for other same devices. I dont see any app or software can do this on the market. so sad....how come no one even think about doing this

A whole system image backup is not possible without root access. If you have root access, this can be achieved via nandroid. However, if you create a full image, reset the device, and restore the image – you've just spent a lot of time for nothing, as Nandroid makes full file system images. So this makes more sense when creating a backup while the device is in "perfect order", and do the reset/restore to return to that state.
If you're after apps and their settings alone, adb backup should be the right approach (root or not). As you've tried that and failed: This might be a bug in your ROM. I have some devices acting the same: while I can make an adb backup, an adb restore always fails. On all other devices, however, it works fine.
Third option was already pointed out by Eran: Use Titanium Backup. This is a powerful tool not only for backups (actually one of the first paid apps I obtained, and use until today) – but again, it requires root access.
For additional hints, you might wish to visit our backup tag-wiki. There you should find a lot of relevant information, and links to other posts here on this site dealing with this and similar issues.

Thanks for reply. I tried nandroid by using cwm, backup was success, but the backup can't be restored showing errors saying Operation failed. the backup contains several .img files, how can i combine them as one .img file? By using adb way, i guess i need to have setup desktop password configured under developer option , the  bad thing is i dont have this option on my system. (Android 4.4.2). It must be blocked by ppl who made this rooted img. TITANIUM Backup, I thought about this, but i have to install it on all devices, it is pointless....

maybe my question was not right, i should ask how to make customized img file for mass deployment with all apps installed and configured.......

As long as you're talking about identical devices, in most cases Nandroid should work. There might be some exceptions, though: I'm e.g. not sure about Samsung devices (which have their IMEI stored in some EFS partition as I've read – and all devices with the same IMEI wouldn't do). Still: Talking about user-space apps, it might even do to just restore the "data" partition (where they and their data are installed/stored). You should be able to sideload the partition image e.g. via fastboot – but I've no experience with that, so I cannot say for sure.

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


text:
What really happens during a factory reset? Does it securely erase all data?
When you "factory reset" an android phone, are you formatting the phone storage by securely erasing all data and writing over them with zeroes, or are you simply deleting the files by hiding them from the file system? If it's the latter, the data can still be recovered, correct?
If I'm trying to sell my phone, will a factory reset securely erase all my data, or will the next user still be able to recover it with some technical wizardry?

How to make a complete factory reset, without anyone being able to retrieve my data?

A factory reset reformats the phone's user-data partition, but it's not a "secure" wipe; it doesn't overwrite everything with zeroes.  If you want to be sure everything is erased, you can encrypt the phone first (which overwrites all the data with encrypted versions of itself), then do a factory reset (which sets up a new unencrypted filesystem).
(Update:  Most newer devices — those that shipped with Android 5 or later — are encrypted by default, so there's no need for a manual encryption step before wiping.  I expect that a factory reset should erase the master encryption key, rendering all the old data unreadable — though Google's documentation doesn't explicitly say so.)
Note that a factory reset leaves the phone's system partition (the "ROM") untouched.  If you've made any changes to the system partition (such as rooting), those will remain.

This article confirms your answer: http://www.greenbot.com/article/2451612/how-to-properly-and-securely-erase-your-android-device.html

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


text:
Are the Battery Doctor and/or CM Family Suite app(s) needed?
I've got an HTC One M8 with KitKat 4.4.4 until Lollipop 5.0 comes out in January. I'm a convert from Apple iPhone Gen 1 all the way up and this is my first Android device ( which I love BTW ).
With Apple, you seemingly don't have to worry about viruses, unless you root/jailbreak your phone.
I'm trying to find the best apps out that improve my battery life, secure, clean, and boost my phone. That said, all these apps seem to do is run my battery down faster and cause more lag in my apps more than anything.
So I my questions are:

Do I need them?
Are there better alternatives?
Is the CM suite horrible as some say?

They are more band-aids than anything. They have services, activities, broadcast receivers, and content providers that now need to be running. Instead of having running apps controlling apps, just take care of the runaway permissions.

Viruses aren't on Android, its malware and adware. Your question is now relying on an answer that is primarily based on opinion, which is off topic.

All you really need is good antivirus (which I unfortunately cannot recommend to you - I do not know any REALLY good).
Android has its own build in and carefully designed memory management mechanisms. Forcing some apps to close, beside of resulting in unexpected behaviour, does not improve performance.
If app is in background it does not HOLD memory - it simply is in there in case you need it back. Android will kill it as soon as some other app or process will need this memory and killing it before only slows your device when you restart app that normally would still be "in memory".
RAM is not some precious resource that is being waisted when app is "in it" and is not running - RAM is simply a container and having it empty does nothing good (nor bad).
As of the Battery Doctor - this app is not perfect and does not always show real results. Nevertheless it still can be helpful - if you see any of your app draining energy, you should investigate. Well designed and developed apps should not impact your battery life significantly. If any of them is - you should get rid of it and look for an replacement. But as stated before - be careful! Google Play is not iStore - anyone can publish anything without any revision whatsoever. Be extremely cautious with new apps, with few comments and low download counter, that require from you all the privileges they only can. I saw an calculator that required reading my contacts list and clock requiring privilege to make extra-pay phone calls.

Since you have switched from iOS to Android, you should keep the following cons as compared to that of Android:

A number of insecure apps in the Play Store which access many of the important imformation of the phone.
The inability of the Android OS to automatically close background apps.

Now, coming to your question:

Yes you need them(PS: Always remember now that you are using android)
Yes, like you can go for 360 Security.
No, CM is not that horrible.

Note:
Try "The Unhack App". Its a good app which provides you imformation about all the apps installed in your device and the permissions they have and even helps restrict unwanted permissions and many more.
If you still think that installing an app like CM can be a waste for your RAM, you can use a launcher like ZERO or APUS which provides an inbuilt memory booster along with variety of cool themes to choose from.

So would 360 Security replace CM?

We can't say that 360 Security can completely replace CM. Both have their own pros and cons. But yes, it can be a better alternative

So would you use them in tandem or one or the other?

Nevermind. They look almost identical. I'll give 360 Security a try instead of CM.

360 is better. See its strength as an antivirus in avtest. Plus, it will provide handy shortcut s in drop down menu to flashlight, auto rotate , and ram  booster.


text:
Adding tasks to Microsoft To Do using voice only - goes to Keep instead
I recently moved from Google Tasks to Microsoft ToDo and it's very good, which should not be a surprise considering it's Wunderlist underneath.
Using Android Auto in the car, I want to be able to add to my Microsoft To Do Tasks list using voice only. Microsoft Support says to use voice commands with Microsoft To Do on Android, tap the microphone icon in the Google search bar, say "Ok Google, add a note...", and select Microsoft To Do as your default app.
That does not work for me though when I just say "Ok Google, add a note...", without taping first, a note gets added to Google Keep. I can't see anywhere to change the default so it's added to the Tasks list in Microsoft To Do.
Has anyone been able to get it working?

You may need to say "Ok Google, create a note on Microsoft ToDo", based on: https://developer.android.com/reference/app-actions/built-in-intents/productivity/create-digital-document#example-queries

As mentioned by Morrison Chang, based on my experiment with WhatsApp with the help of Google Assistant Help, mentioning the app name directly might affect the result.

I tried that but it still went to Keep:see voice commands and keep

I found an old techcommunity post that gave me a close solution for Samsung only which works for me though it would be nice to have a nonproprietary solution and not to need an intermediary app.

Requires a Samsung phone. Enable Bixby, Samsung's virtual assistant, by searching for the Bixby app and clicking enable. In the Settings -> Language and voice style, you can choose one of 2 voices.
Enable the hidden reminder app on your Samsung phone by opening the Samsung calendar, selecting the menu, and tapping reminder, You will be taken to the reminder app and an app shortcut will be added to your app screen.
Open the Samsung reminder app -> Settings & tap Sync with Microsoft To Do, sign in with your Microsoft account, and accept the permission request.
You now see the synced Tasks under Microsoft To Do
You can now say "Hey Bixby add a reminder to walk the dog"
Go into the reminder and see "Walk the dog" as a new Task. It will have a red dot after it, which disappears when it has synced. The To Do then shows in your To Do task list.

Initially when I did the last step earlier the note appeared in To Do under a new list called Reminder. I am unsure how this changed to go into Tasks but it's working now.

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


text:
Continue using app after developer refunds purchase?
I'm an app developer and wondering about refunding purchases.
I use Google's standard License Check library. If a user requests a refund and I refund the entire purchase price, does that prevent them from passing the license check? Or do they get to keep using the app after I refund the money?

Play Store purchases are refundable under a 15 minute window. Under that window, if the user doesn't like the app and wants a refund, using Play Store to refund the purchase will end in the user receiving back the purchase amount and the app being uninstalled from the device.
Is it possible, under the refund window, to copy a paid app to the external storage for example and then once refunded, install it from there. I'm no app developer but I know some apps that despite doing this, they check somehow the purchase via Play Store and in this case, since the user hasn't bought the app (it did a refund), the app won't work as if it was purchased. In this example the app has a free and paid version, so the paid version has more features but since the user didn't paid for that, it gets the free (despite having the full installed).

Peter is correct: Once the user is refunded, his account no longer lists the app as "paid by him" -- so Google license check will report this, and thus handle the check as "failed".


text:
80% charge limit on Pixel 8?
I've seen multiple posts on Reddit from Pixel 8 Pro users, claiming that the December Feature Drop for Pixels enabled an 80% battery charge limit feature.
The setting looks like this:

Does the regular Pixel 8 not support this feature? My battery settings look like this:

I have a pixel 6a and was able to find the menu (1st screenshot) you're looking for after clicking on "Adaptive Charging" in the "Battery" menu (2nd screenshot). Then, once I clicked on "Adaptive Charging" it changed to "Charging optimization."

Hey it just changed for me too! That's so weird

@Protectorone A lot of updates come via google play services now, this might be why it seems to suddenly change.


text:
Can you show advanced settings in android by default?
In almost all settings sub-menus in newer android versions, there is a item in the list called "Advanced" closest to the bottom, that shows additional settings when pressed. This is apparently a design goal called Progressive disclosure, according to Android Settings Design Guidelines
I am wondering if the "Progressive disclosure" feature can be disabled somehow, so that I am shown all settings in sub-menus by default.

It is how the developer of that Android ROM designs the settings screen. There is no user-end setting to decide how the settings show up and /or to sort them in different ways. As it is a Google instruction to hide less used settings inside the "Advanced" menu, most developers will decide on pushing additional settings behind that menu item. In fact my current phone did that even when there weren't at least 3 items in the advanced menu.
Short answer: It  is not possible to show the settings outside of the "Advanced" sub-menu. There's no way for users to disable the use of Progressive Disclosures.
Root and modification can help in adjusting the priority/place of that setting item. But that's probably too much effort to achieve much lesser.


text:
Are there any landline phones running Android?
I'm looking for a landline phone (not necessarily cordless) which runs on Android and gives me the associated control, customisability, and for a bonus, market access. Does such a thing exist?

Apparently Yes. The Archos Smart Home Phone is an Android Phone priced at £130 in the UK:
http://www.androidcentral.com/archos-smart-home-phone-now-available-get-android-your-landline
Although the reviews on Amazon UK arent very good:
http://www.amazon.co.uk/Archos-501809-Smart-Home-Phone/dp/B005H0M8LW
Binatone iHome Phone iDect with DECT and Android Technology
http://www.amazon.co.uk/Binatone-iHome-Phone-Android-Technology/dp/B004EBV1GI
Currently unavailable (maybe its that good)

Thank you! That's interesting and disappointing at the same time :(

@Simon beat me too it again ;)

Hope it helps. In the next fews years it will really kickoff. Its only in its infancy at the moment :)

Motorola also has a device similar to the Archos Simon mentions, though they don't seem to be available for sale yet, despite clearing FCC approval back in April.
Binatone also offers such devices, though it appears to only be available in Europe
There's also Android-based VOIP units, like the Panasonic KX-UT670, though I imagine that isn't what you're looking for.

Thank you. Do you perhaps have a link or a name for the Motorola phone?

Info I've got is from engadget, who found it in an FCC filing.  http://www.engadget.com/2012/04/03/motorola-hs1101-mbp2000pu-android-home-phone-fcc/

The iDECT iHomephone has Android.
I do not know whether or not it comes with Google Play however.

Thank you. The page does not mention that the phone runs on Android. But from the looks of it, it's the same as the Binatone in @Simon's answer.


text:
Do permissions have to be declared in the manifest for an app to have the access they provide?
I was using Universal Copy for a while to be able to copy text from fields that are not normally able to be selected, but due to it being able to see all contents on the screen when running, I would disable the it in accessibility settings until needed, which was a pain. I found Copycat, which does the same thing but with only one permission (run at startup) declared, and it states the following:

This app does not use any internet connection at all, So it never syncs any of your saved data anywhere. You can confirm it yourself by checking the app permissions. Your data is safe in your device.

On the surface, this seems great, since it appears there's no concern about giving it the access involved with the accessibility service. However, I know that Android permissions aren't so well-defined, unfortunately, and that if an app has any permission in a category, it has all permissions in that category. Since the "run at startup" permission is in the "Other" category, which is also where the internet permissions are located, it would seem that it would have that access, even though it doesn't specifically request it.
So my question is, is that true, or does an app have to declare a permission in its manifest in order to be able to use it, and does that declaration always mean that permission will show when viewing an app's permissions in the Play Store? IOW, is Copycat truly safe, or could it potentially still be sending information, and the developer is either misguided, which wouldn't exactly be promising, or outright lying, which would clearly be bad? I emailed them a few weeks ago but have not received a response.
P.S. I wasn't sure if this should go on Stack Overflow, since it relates to programming, or not, since it's not related to any specific code.

Android throws an exception error when a feature is requested by an app for which it has no requisite permission declared in its manifest. That said, an update can easily add the Internet permission and since that permission falls in the other category the user is never notified of it, even when sideloading the update.

If I'm understanding you correctly, you're saying since it doesn't declare internet permissions in the manifest (based on the fact they don't show under the permission details on the Play Store page), it can't use them even tho they're in the same category of the one it does declare/request, but it can add it at any time without me being warned b/c it's in the same category? If that's the case, I always check the permissions to see if any new ones have been added before updating apps, so that wouldn't be an issue.

Android permissions are classified as normal, dangerous, signature, signatureorsystem. There is another concept called permission  groups and any permission from any classification can be into a group. What you are referring to as a category is called a permission   group technically. If you grant one permission of a group, the system would automatically grant the rest of the permissions from that group, if the app requests them, without seeking user approval. Again, this is limited to a group, so just because an app can access a normal permission doesn't mean it can access all normal....

...permissions unless they are all part of a single permission group. An app must declare all the permissions it wants to access in its manifest, regardless they are into or outside a permission group.

To supplement @Firelord's comments, it's possible to grant only desired permissions from a permission group using command line tool pm. Also if you have a rooted device, you can trick Android to grant permissions not declared in Manifest (at least up till Android 9): https://android.stackexchange.com/a/217522/218526

@IrfanLatif - that brings up another question: can an app with su on a rooted device do anything, regardless of declared permissions, or is it still limited to those permissions it requests?

@vertigo obviously with true root privileges, apps can do almost anything which can be done through CLI.

A basic Android application has no permissions associated with it by default, meaning it cannot do anything that would adversely impact the user experience or any data on the device. To make use of protected features of the device, you must include in your AndroidManifest.xml one or more  tags declaring the permissions that your application needs. At application install time, permissions requested by the application are granted to it by the package installer, based on checks against the signatures of the applications declaring those permissions and/or interaction with the user. No checks with the user are done while an application is running; the app is either granted a particular permission when installed, and can use that feature as desired, or the permission is not granted and any attempt to use the feature fails without prompting the user.
Read more here https://developer.android.com/guide/topics/permissions/overview

So to clarify, it only gets the permissions it specifically requests in the manifest, which all of those would show under the permissions info on the Play Store page, and can NOT do things that require other permissions, even if those are in the same category of the one(s) it requests? The link you provided seems to indicate that, I just want to be sure. It's unfortunate Google isn't more clear and upfront about all this.

Absolutely. An Application only uses permissions provided in the manifest and not any other.


text:
Drive sends an almost-daily "1 file is now available offline" notification
On my second device (Nexus 5), I keep getting the same notification from Drive almost every morning. When I click on it, the app opens its main screen without marking the file that I was notified about. Funny thing is, I haven't received such notifications on my main device (Pixel 3).
What is this notification about? Can the notification be triggered from the update of a some backup file?

Try clearing Drive app's cache. If it doesn't work, clear it's data.

Apparently, the files that I've uploaded recently are being flagged as "Available offline", which downloads them to the device and the app shows this notification when a download is completed. I suppose that's an intended behavior, even though I've never flagged any of my files as "Available offline" ¯\_(ツ)_/¯

I had the same problem and I think unchecking the "make recent files available offline" setting in the Google Drive app did the trick.
I'm using Google Drive v2.20.261.01.40 on a Google Pixel 3a with Android 10 (build QQ3A.200605.002).

On my android I found this setting in the individual sheets and docs apps, not the drive app.


text:
Huawei bootloader: what is "FB Lock" and how to unlock it?
I was playing around with my spare Huawei phone trying to bypass the security without wiping data and came along this article: https://blog.salvationdata.com/2018/09/07/case-study-mobile-forensics-a-practical-solution-to-unlock-huawei-bootloader/
In step 3, you should "temporarily disable FB lock". What does this mean and how do I unlock it using fastboot? I suppose, that I cannot do that using standard fastboot oem unlock command, but I couldn't find anything else in the fastboot documentation.

EDIT: Result of fastboot help command as requested:
https://pastebin.com/2rhr1PTT
platform-tools$ ./fastboot help
usage: fastboot [OPTION...] COMMAND...

flashing:
 update ZIP                 Flash all partitions from an update.zip package.
 flashall                   Flash all partitions from $ANDROID_PRODUCT_OUT.
                            On A/B devices, flashed slot is set as active.
                            Secondary images may be flashed to inactive slot.
 flash PARTITION [FILENAME] Flash given partition, using the image from
                            $ANDROID_PRODUCT_OUT if no filename is given.

basics:
 devices [-l]               List devices in bootloader (-l: with device paths).
 getvar NAME                Display given bootloader variable.
 reboot [bootloader]        Reboot device.

locking/unlocking:
 flashing lock|unlock       Lock/unlock partitions for flashing
 flashing lock_critical|unlock_critical
                            Lock/unlock 'critical' bootloader partitions.
 flashing get_unlock_ability
                            Check whether unlocking is allowed (1) or not(0).

advanced:
 erase PARTITION            Erase a flash partition.
 format[:FS_TYPE[:SIZE]] PARTITION
                            Format a flash partition.
 set_active SLOT            Set the active slot.
 oem [COMMAND...]           Execute OEM-specific command.

boot image:
 boot KERNEL [RAMDISK [SECOND]]
                            Download and boot kernel from RAM.
 flash:raw PARTITION KERNEL [RAMDISK [SECOND]]
                            Create boot image and flash it.
 --cmdline CMDLINE          Override kernel command line.
 --base ADDRESS             Set kernel base address (default: 0x10000000).
 --kernel-offset            Set kernel offset (default: 0x00008000).
 --ramdisk-offset           Set ramdisk offset (default: 0x01000000).
 --tags-offset              Set tags offset (default: 0x00000100).
 --page-size BYTES          Set flash page size (default: 2048).
 --header-version VERSION   Set boot image header version.
 --os-version MAJOR[.MINOR[.PATCH]]
                            Set boot image OS version (default: 0.0.0).
 --os-patch-level YYYY-MM-DD
                            Set boot image OS security patch level.

Android Things:
 stage IN_FILE              Sends given file to stage for the next command.
 get_staged OUT_FILE        Writes data staged by the last command to a file.

options:
 -w                         Wipe userdata.
 -s SERIAL                  Specify a USB device.
 -s tcp|udp:HOST[:PORT]     Specify a network device.
 -S SIZE[K|M|G]             Break into sparse files no larger than SIZE.
 --slot SLOT                Use SLOT; 'all' for both slots, 'other' for
                            non-current slot (default: current active slot).
 --set-active[=SLOT]        Sets the active slot before rebooting.
 --skip-secondary           Don't flash secondary slots in flashall/update.
 --skip-reboot              Don't reboot device after flashing.
 --disable-verity           Sets disable-verity when flashing vbmeta.
 --disable-verification     Sets disable-verification when flashing vbmeta.
 --wipe-and-use-fbe         Enable file-based encryption, wiping userdata.
 --unbuffered               Don't buffer input or output.
 --verbose, -v              Verbose output.
 --version                  Display version.
 --help, -h                 Show this message.

There are two types of bootloader locks in Huawei devices: FB Lock and USER Lock.
USER Lock restricts the standard partitions like system, data, recovery, kernel etc, but not the critical bootloader-partitions which I don't remember the names of. (So you can't edit them even if you perform a USER Unlock) The USER Lock is what requires the bootloader unlock code to unlock. Also, there are some hidden hardware commands which are used for serious debugging like JTAG, that cannot be accessed with a USER Unlock.
FB Lock is used for protecting these restricted functions. A FB Unlock works as a key for all of Fastboot. (So if you perform a FB Unlock then you can unlock everything USER Unlock does, and the other restricted stuff) FB Lock is intended to be used by Huawei personnel for repairing. It is NOT supposed to be unlocked by users, but it is possible anyway, as I discovered after quite some research, but it doesn't work on very new firmware versions like EMUI 8.2 or July/August Security patch. It has been used for years by paid software for performing FRP Unlock, full system restoring, and it can even be used for obtaining a bootloader code for USER Unlock. A FB Unlock is usually temporary.
The method of FB Unlock has been kept behind cover for quite some time now, but I saw recently that it has been leaked on XDA. You can check it out here. That guide also covers a method for extracting the NVME partition for a permanent FB  Unlock. If you don't want a permanent FB Unlock, but would like just a normal USER Unlock, you can skip doing steps after 3, but instead when you boot into TWRP, you can use:
su -c "grep -m1 -aoE 'WVLOCK.{14}[0-9]{16}' /dev/block/mmcblk0p7 |grep -aoE '[0-9]{16}'"

That will output the bootloader unlock code which you can use for standard USER Unlock. Good Luck!

Will FB unlock cause a user data wipe? According to the article mentioned in my post, it shouldn't, but I am not sure. Also, if the FB unlock is "more powerful" then User unlock, why if you manage to do FB unlock would you still care about User unlock?

FB Unlock would not cause a user data wipe. I added that part because FB Unlock is so powerful that you can even completely hardware-brick your device, by executing a wrong command. If you be careful about what commands you choose to run then permanent FB Unlock should not be a problem.


text:
No push notifcations on LG G PAD 8.3 with android 4.4.2
I Just bought a new LG G PAD 8.3.
it says it currently has Android 4.4.2 version.
That's my first time with android, I have an iPhone so I'm used to see push notifications, both real time and all notifications that came through while the device was in sleep mode.
This doesn't happen with this Tablet though, even though notification alerts are set to ON, and on highest volume. I only get a few notifications, on  a random basis, and when I do get them, it's only if I'm actively using the device, and it plays a very vague light sound, it doesn't even play the voice I chose for notifications.
However, when I slide my finger from top to bottom to (Same as iphone), I do see the notifications listed in the notification bar, so I guess the problem isn't with the apps themselves.
Furthermore, I don't see a red number showing on the icon of the apps that indicates the number off missed notifications. I only see it on the facebook icon, but not on the icons of other apps.

The notification "badges" on app icons are not a feature of Android. Individual apps sometimes implement this by making a widget that looks like the app icon, and then updating that widget with a notification count. Facebook must be doing this, but not all apps do. I would actually say it's a fairly uncommon feature (in my experience).

absolutely no one?


text:
Can't create folder on device using mac Android File Transfer app
When trying to create folder on Samsung Galaxy TAB 2 using the Android File Transfer app from my mac computer, I get an error alert:

Could not connect to device. Try reconnecting or restarting your device".

What could be the reason of this problem?

I had the same symptoms. Neither reconnecting nor restarting my device helped. It turns out that there was already a folder with the same name as the one I was trying to create, and I just hadn't noticed it. So, Android File Transfer was giving me an incorrect error message.

I had the same problem and a reboot did the trick for me.


text:
USB Error after failed attempt at flashing
After using Odin to flash my Samsung Epic D700 (and apparently doing something wrong), I can only boot to Download mode.  If I try to boot, I don't even get to the Samsung splash screen.  All I have is an image showing a cell phone with a dotted line to a PC, and a yellow triangle with an exclamation mark between the cell phone and PC.
When I boot into Download mode and connect the USB cable, I get the message:
USB device not recognized
The last USB device you connected to this computer malfunctioned, and Windows does not recognized it.

I had flashed the phone back to stock, and was attempting to install Clockworkmod recovery when I did this.  I had specified a PIT file and a PDA file. The PIT file was probably a mistake.
Is there a way forward from here?

Answering my own question:  I fixed it, and I'm not sure how.
I did several things, and I did them several times. Can't tell which thing or combination of things worked, but here's what I tried:

Removed the sd card.
Connected the phone to the pc without booting the phone. This took it into Recovery mode, sometimes but not always, and I didn't figure out why sometimes it went into Recovery mode and sometimes it didn't. From Recovery mode, I selected and ran the Factory Restore option.
Removed the battery and left it out for several minutes. (I kind of think this was important.)

Eventually the USB error vanished, Odin discovered the phone, and I was able to reflash the stock ROM.


text:
Why did my Gmail Notifications stop?
Recently I seem to have stopped getting notification when I receive new emails on Gmail. I used to get these until a few weeks back.
I have a Nexus 4 with the Android 4.2.2 and I am running the latest version of the Gmail app.
I have checked and notifications are turned on for the Gmail app in Settings->Apps
Anyone know why these might have stopped?

This often happens if you have sync turned off or your refresh interval is not often enough. I am able to turn my sync on an off through a toggle in my notification bar, and most phones can do the same. Make sure sync for all services is on through that method.
It is also not enough just to have notifications turned on through the app settings. Make sure that notifications are also turned on in Gmail by going to Gmail>Settings>(your account) and checking the notifications box. You can also check the "Sync Gmail" box.
This works for me and I get my Gmail notifications pushed to my phone almost immediately.

"almost automatically"? You mean you have to do a little work each time? Or do you mean "almost immediately"? :-)

Checklist:

Do you have proper Network/Data reception (Not in Airplane mode, properly connected to WiFi, etc..)
Are you using Check Settings->Data Usage->'Set mobile data limit'?
In Settings, make sure 'Google' is setup under Accounts.

Select Google and then click on the email address that you're verifying. The 'Sync' submenu will come up. Verify that 'Gmail' is checked (it will also tell you the last time it sync'ed).


text:
Samsung Galaxy SHV-160k won't get signal
I bought on ebay a refurbish Galaxy Note N-7000. Once I received it I put my chip and for my surprise there was no signal. After checking It I noticed it has on the back of the phone N-7000 but when I see on the software it says SHV-160K.
Right now, I don't know what else to do with this phone because it simply doesn't recognize any network, it just displays a NO SyMBOL where it should display the carrier signal bars.
I'm posting to see if there is any way this phone can be use or IF I should ditch it.
This is what It lists on the about device page
Model: SHV-E160K
Android Version: 4.1.2
Band Base: E160KKKJLL6
Kernel version: 3.0.31 - 10034927
se.infra@SEP-93 #1
SMP PREEMPT Fri Mar 22 12:43:28 KST 2013
Compilation: JZO54K.E160KKKJMC3

The SHV-160K is a version of the phone only made for the South Korean market. It works in the US, but only on GSM, not 3G or LTE, because the US cell networks use different frequencies to South Korea. (The Western half of S America uses the same frequencies as the US.)
This tells me that it should work as a 2G phone for you, but perhaps there's no GSM coverage where you are, only LTE? In that case, you're screwed and you should sell your phone to a Korean on eBay.


text:
How to view the Google Docs File menu on my Lenovo tablet?
I've googled and seen how to restore the File menu to Google Docs. They tend to say to hit the "two arrows in the upper right". For example, the number one hit that pops up (https://www.solveyourtech.com/file-menu-go-google-docs/) says this:

You can make the menu and toolbar visible again in Google Docs by clicking the downward facing arrows at the top-right of the window.

I don't see any of this on my Android tablet (Lenovo) however. It doesn't seem to make a difference whether I am using productivity mode or not.
Does anyone have any alternative steps on how to get the File menu to appear?
Screenshot of open document:

The linked webpage is about Google Docs desktop but it looks that your question is about Google Docs for mobile. Is this correct or you are using Google Docs in a web browser in desktop mode?

@RubénR I think you are right it would be mobile I am assuming since on a tablet.

The Google Docs app for Android hasn't the same look and feel than the Google Docs web app, some features aren't available.
If you need a feature that is not avaible in the app for Android, try using Google Docs web app. For this, open a web broswer, set it work as a desktop web browser then go to https://docs.google.com.
Related

Is there a Google Docs editor for Android that actually works?
Open Google Docs in Browser

I tried that in Chrome and Google decided to do what it wanted to do. It opened the doc in Google Docs. SMH


text:
Sideploading apps in multi-user setups
I have a Samsung Galaxy Note Tab Pro 12.2 with several users defined.  I would like to side-load on-device some APKs not available in the Google Play Store to the other accounts — specifically, to first side-load F Droid then use it for further apps.  I managed to do that in my Moto X Force, but not in the Galaxy, I guess due to it using an older Android version.  Is there any user-definable setting to do that?

How do you side-load apps? Via adb or on-device using the akp files?

Thanks for the clarification request.  On-device with APKs.


text:
Bootloader unlocked
Rooted samsung galaxy s4 using odin& CF Auto root. Then flashed CWM using rom manager. Now I can go to CWM  recovery mode (using power+volume up+ home) . I can get NAndroid backup. Does this mean that I have unlocked my bootloader?
After a lot of googling I think I should use ADB 'fast root in order to unlock bootloader. but since I'm already booting cwm in recovery mode others say I'm alreay unlocked!!!
 the method I used from http://autoroot.chainfire.eu/ isn't for unlocking its for rooting. please explain Thanks.
actually now that I read  the instruction in chainfire website don't understand why rooting worked for me he has a warning that using those auto root files on a locked bootloader will brick the phone!!!

Welcome to the Android Enthusiasts! If you want to add details to your question, please don't do so via comments; you can always [edit] your question ;) Apart from that: Was that you asking the same question yesterday? CWM installed does it mean bootloader is unlocked?

Lost that account.had registered it with an email that doesn't exist:(

No reason to re-post as duplicate. You can always contact staff asking to have that account "merged" into your current one. If you can provide them the registration details (to prove it's yours), they usually do.

@Izzy can you read the question again please? I have changed it

I can't help you with that, Sam. But I strongly suggest to contact staff to get your accounts merged, to avoid duplication you could update your original question then. Might cause some confusion otherwise, with details spread across multiple locations ;)

@izzy done that already.hopefully they will do that soon

Shouldn't take too long, give it a few days at max.

Not necessarily, just because you rooted your android device doesn't mean that you unlock the bootloader. You must understand that is very different root from unlock bootloader and they have different uses too.
Root your phone means that now you have the sudo permission(admin permission) and you are able to manage your android as you want. Remove stock apps, edit the system files (that is dangerous if you doesn't know what you're doing!) and lot of new possibilities.
boot unlock your phone means that you can install a custom recovery boot, like the most knows: ClockWorkMod (CWM) and TeamWin Recovery Project. And also be able to install a custom ROM like CyanogenMod, Paranoid, or other Android Open Source Project (AOSP) ROM.

As different devices have diferent methods to unlock the boot, it should search on google with your exact model and how to unlock it. But most devices uses fastboot as the unlock method (Sony, Nexus - Samsung not, I used odin too).
Yes, it can brick you phone if you don't make it right. The tool CF-Auto-Root explicit alerts:

UNLOCK BOOTLOADERS If you have locked bootloaders, flashing one of
  these will probably brick your device - with the exception of Nexus
  devices, which will usually automatically "OEM unlock" and wipe your
  data !

How to check if your device is rooted:
https://play.google.com/store/apps/details?id=com.joeykrim.rootcheck
How to check if your device is boot unlocked:
Please check search on google for tutorials, because change for each brand and model. But note that it is more an advance feature than a simple root and easily could get you phone wicked if somethings went wrong.
This site might help you, it for Samsung galaxy s4:http://forum.xda-developers.com/showthread.php?t=2551401

"boot unlock your phone means that know you can install a custom recovery boot, like the most knows: ClockWorkMod (CWM) and TeamWin Recovery Project"  I'm using CWM so I should be boot unlocked right? I did alot of googling to confirm that I have boot loader unlocked but didn't get the answer (using Samsung Galaxy S4 SGH-I337M)

@Sam Sorry, but so I didn't get so what are you asking for. I read again, but It is the same I has thought you asked...

ok I understand that rooting isn't same as bootloader unlocking.   I want to know that if I installed CWM with rom manager successfully does it mean that I am already boot unlocked?

I didn't find any method to check bootloader for my device no one said how I can confirm if it is unlocked or not.

I think you should not be able to unlock automatically, as the site warn you to be careful. And I explained in the answer that to unlock the bootloader you should search on google for methods for your device as it change for each model.

@Sam I added an link to a page with a discussion about how to install bootloader on a samsung s4. Take a look and see if helps

I see well the link isn't for sgh-i337m but I guess that as close I can get to unlocking my phone. (Not feeli g safe to try it since no one with my model mentioned it) thx though


text:
LG P760, insufficient disk space, help please
I have an LG P760 updated to the latest available by LG version.
The last couple of days I cannot update the installed apps with the known error of insufficient disk space, although it was supposed that more than 290MB where available. I removed some apps and increased the free space to 320MB. Then I managed to update some apps but that's it.
Now, I understand that this is complicated but I want to know the following:
a. Is is possible to partition my external SD and use it as internal storage?
b. I want to avoid to root the device. If it's not possible, is it possible to root the device and then un-root it?
c. I want to avoid apps like link2sd. I am fairly competent with Linux CLI, so, I would like to use the mount command and Android boot scripts in order to mount SD partition.
Can I do that?

New Info:
It is possible that I found a "bug"(?). I had 2 devices and both of them were under my account in the Play store. I gave the second one to my wife. For a reason that I don't understand, my device was "removed" from my devices list, but the device that I gave to my wife was not (and it was in my wife's account too!).
I wanted to install an application and since I could not do that from my phone, I decided to try to "push" the application. But Play store said that my device was not compatible (and it showed the device of my wife). Then, I hide it, hoping that my device will re-appear.
Instead of that, my upgraded the apps that until some minutes ago refused to do so with the "insufficient" storage message!

Looks like you already researched a lot of background, but just in case: have you seen our insufficient-memory tag-wiki? It might have the one or other item left for you (on the first paragraph – no experience with the second, sorry).

a) Yes, you can use your external as an internal storage. (Requires Root access. Using link2sd. I don't know any other app)
b) Yes, it is possible to unroot your device. (http://www.wikihow.com/Unroot-Android)
C) I haven't tried that. But, yes you can do it.
I think that you want to avoid using link2sd app because of the risk.So I suggest you move your apps from Internal memory to an External memory(if you have any).
By rooting your phone your warranty will be void, plus you take a huge risk.(But if anything goes wrong, you are not alone. So you'll always find a solution on net :p )
This is the biggest disadvantage. But on the bright side there are plenty of things you can enjoy.

I want to avoid link2sd because: a. It's not free, b. It's just a link. A more elegant solution would be something like LVM but I suppose that LVM is not part of the kernel :) Anyway, yes, the idea is to remove useless applications (like for example Google Movies) and mount the external SD partition as a storage device. OK, so, I need to learn where applications and their data are stored (the path, I mean). Can someone point me a relevant (small) document?


text:
Bluetooth battery level not showing up in status bar
I'm using Lineage OS 18.1 and a BLE Mouse that reports its battery level.
I can confirm that the battery level is reported correctly, by connecting it with my Linux computer:

(See Devices: DIY Page Turner)
Also from the terminal:
[fedora@fedora ~]$ bluetoothctl
Agent registered
[CHG] Controller 9C:B6:D0:94:27:00 Pairable: yes
[DIY Page Turner]# paired-devices
Device CC:50:E3:B6:91:00 DIY Page Turner
[DIY Page Turner]# menu gatt
Menu gatt:
Available commands:
-------------------
list-attributes [dev/local]                       List attributes
select-attribute <attribute/UUID>                 Select attribute
read [offset]                                     Read attribute value
...
[DIY Page Turner]# list-attributes CC:50:E3:B6:91:00
Primary Service (Handle 0x0000)
    /org/bluez/hci0/dev_CC_50_E3_B6_91_00/service005f
    0000180f-0000-1000-8000-00805f9b34fb
    Battery Service
Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_CC_50_E3_B6_91_00/service005f/char0060
    00002a19-0000-1000-8000-00805f9b34fb
    Battery Level
Descriptor (Handle 0x0000)
    /org/bluez/hci0/dev_CC_50_E3_B6_91_00/service005f/char0060/desc0063
    00002902-0000-1000-8000-00805f9b34fb
    Client Characteristic Configuration
Descriptor (Handle 0x0000)
    /org/bluez/hci0/dev_CC_50_E3_B6_91_00/service005f/char0060/desc0062
    00002904-0000-1000-8000-00805f9b34fb
    Characteristic Format
Primary Service (Handle 0x0000)
    /org/bluez/hci0/dev_CC_50_E3_B6_91_00/service0028
    0000180a-0000-1000-8000-00805f9b34fb
    Device Information
Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_CC_50_E3_B6_91_00/service0028/char002b
    00002a29-0000-1000-8000-00805f9b34fb
    Manufacturer Name String
Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_CC_50_E3_B6_91_00/service0028/char0029
    00002a50-0000-1000-8000-00805f9b34fb
    PnP ID
Primary Service (Handle 0x0000)
    /org/bluez/hci0/dev_CC_50_E3_B6_91_00/service0001
    00001801-0000-1000-8000-00805f9b34fb
    Generic Attribute Profile
Characteristic (Handle 0x0000)
    /org/bluez/hci0/dev_CC_50_E3_B6_91_00/service0001/char0002
    00002a05-0000-1000-8000-00805f9b34fb
    Service Changed
Descriptor (Handle 0x0000)
    /org/bluez/hci0/dev_CC_50_E3_B6_91_00/service0001/char0002/desc0004
    00002902-0000-1000-8000-00805f9b34fb
    Client Characteristic Configuration
[DIY Page Turner]# select-attribute /org/bluez/hci0/dev_CC_50_E3_B6_91_00/service005f/char0060
[DIY Page Turner:/service005f/char0060]# read
Attempting to read /org/bluez/hci0/dev_CC_50_E3_B6_91_00/service005f/char0060
[CHG] Attribute /org/bluez/hci0/dev_CC_50_E3_B6_91_00/service005f/char0060 Value:
  2f                                               /
  2f                                               /
[DIY Page Turner:/service005f/char0060]# exit
[fedora@fedora ~]$ echo "Battery Level: $(( 16#2f ))%"
Battery Level: 47%

(Not sure if the value (2f) appearing twice is correct behavior, but I assume it is since Linux doesn't seem to have a problem with it.)
On Lineage OS however, it doesn't show that information in the status bar:

I can display it using BLExplorer though.

(35 is the battery level percentage in hex. Which, converted to decimal makes 53%, which is accurate. So the battery level is transmitted properly.)
What I would like to see is this btw:

Do other devices, for examples earphones, show their battery statuses?

Yes, with earphones it works as expected.


text:
How can I remount an external storage SD card?
My external sdcard1 has disappeared leaving only sdcard0 emulated. I have looked in device/storage, and the folder is indeed gone. How can I mount or remount my external storage sdcard1?

fwiw I can mount my external exfat SD from a root terminal with mount /dev/block/mmcblk0p1 /storage/1726-1212 and then see the files in that target folder ... but only from the terminal. The file explorer app does not see it. A reboot should automatically remount the sdcard anyway though.

One way would be via USB using an SD card adapter, I have one myself that I use for all my various devices, PC, Tablet and so on.  Especially handy when I am taking photo's to my PC.


text:
How to make an invisible (transparent/blank) app icon in Nova Launcher?
In Nova Launcher Prime 6.x, how does one make an app's icon invisible (completely transparent / blank)?
I can try to find (or create) an icon pack that contains a blank icon (preferably on F-Droid), but I'm hoping there is a faster solution.

Not clear. You want to make the icon of an existing (installed) app transparent? But still occupying space? What about its label? Should tapping it open the app?

@IrfanLatif Answers: Yes. Yes. No label (easy in Nova). Yes. :)

Took me a bit, but I figured it out:

Download and install Pocket Paint from F-Droid: https://f-droid.org/en/packages/org.catrobat.paintroid/

Create a completely empty (and transparent) .png file, which is currently the default image for Pocket Paint.

Save the .png file.

In Nova Launcher Prime, long press the desired app, click Edit, and then click the existing icon.

In Nova Launcher Prime, select Gallery apps.

Select the image saved in step 3.

Voilà!

I followed those instructions. But when I try to apply the picture it just makes the whole folder black. I'm at a loss.


text:
Can I convert phone into USBC touchscreen display?
Is there a way to join two Android phones so that one of them is the touchscreen for the other?
For example, to retrieve data on a cracked phone or to play games on a larger Android screen.


text:
Can changing IMEI of an Android smartphone make WiFi & Bluetooth refuse to work?
I recently used a third party software to change the IMEI of a device but then WiFi, Bluetooth is not turning on when I try to. The switch turns on and then the system turns it off in an instant. Is there a third party software I can use to tell if the system detects a Bluetooth/WiFi hardware installed on the smartphone and could the IMEI change have made the hardware non-functional?

Wifi and Bluetooth don't depends on IMEI. Most likely the IMEI changer software has destroyed something and now those services fail to start.

Is there something I can use to check if the adapter is installed?

What adapter are you talking about? To make it work again restore the old state by an undo operation the IMEI changer hopefully provides or reinstall the original firmware hoping that it includes the part where the IMEI changes has modified the system.

What Android device and what third-party software did you try? AFAIK, changing IMEI needs root access, so if the device is not rooted, then it would just fail... unless the software also rooted the device... and doing other things.

There are 2 questions here. The first is on-topic, and the second would be on-topic at Software Recommendations SE.

@AndrewT. You are correct the device is rooted.


text:
Is there any way to force a factory reset without being able to get into the bootloader nor the os?
I got a Nokia C100, when setting it up I messed up the password but didn't realize until I had locked the device, I can not log into the device, the bootloader only shows Fastboot mode, and android find my device is not finding the device at all. I was wondering if anyone had any ideas on how to try get around this, that I know of USB debugging is not turned on so I have no idea if I can use any usb tools.


text:
Can I use an ecrypted flash drive on Android?
Is it possible to use a flash drive encrypted with LUKS and connected to the phone with an USB OTG cable?

Yes if 1) your device is rooted and 2) your kernel is built with CONFIG_DM_CRYPT. The latter is necessarily true if your device supports FDE. So decrypt and mount the USB OTG using cryptsetup or dmsetup as you would do on any Linux PC.

Maybe an app like EDSLite or the full EDS could be helpful, too – though I'm not sure if they'd work with entire volumes (the app description just speaks of containers, but explicitly mentions LUKS). Nevertheless, root seems indeed needed. And right: their website mentions "Encrypted partitions and devices support" for the full version, root needed.


text:
How Link to Windows (Android application) call forwarding works when Google has added so many obstacles to call recording on Android?
Today, I bumped into Microsoft's Link to Windows Android application, which supports that it has a call forwarding feature so you can make and answer calls from a Windows computer. A few days ago I was wondering why KDE Connect doesn't have this feature and if I should try to implement it.
Then after a bit of searching, I found this article describing the obstacles Google has added to call recording on Android. So reading that Link to Windows support call forwarding sounded somehow controversial to me.
The reason I am writing this question is to ask for more information about how it works and why this application is allowed on Google Play.

Possibly the call forwarding is using Bluetooth HFP 1.5 Hands-Free Profile (as mentioned in this answer). I'm not sure what call recording has anything to do with this though...

@AndrewT. you are correct. The Play Store description of "Link to Windows" states: “Calls requires a Windows 10 PC with Bluetooth capability”.

@AndrewT. Thanks you very much for the information. If you can write an answer about it I will accept it, otherwise I will answer it myself.

Feel free to answer it :)

@AndrewT. One more clarification, for the calling functionality to work the phone must be in the Bluetooth range not in the Wifi range, right?

Based on the Play Store description mentioned by Irfan, I believe so, because it's using Bluetooth technology.

Okay, thanks you for the infromation.


text:
Auto factory reset - is this a general function of Android?
I want to install a software provided by my company but the IT admins only accept devices that support the "Auto factory reset" functionality (automatically perform a factory after if the wrong lock screen password/PIN has been entered 15 times consecutively). They claim nearly every Android phone would have this function.
I know that certain Samsung phones have this functionality but Samsung is known to heavily modify Android. So my main question is:
Is or was the "Auto factory reset" functionality ever included in general Android?
I have checked multiple devices with different Android versions running. And except from Samsung no device had this functionality, so I am a bit confused...

"Auto-factory reset" after a set number of failed PIN/password attempts is a part of the Android Device Admin API which is now available only as a proprietary service from Google, called "Android Enterprise". See point 3 of section 2.3.3.

Or you can build an admin app of your own which sets policy by calling setMaximumFailedPasswordsForWipe.


text:
What version of TWRP should I use with Android x?
Reading the TWRP release notes I often read "TWRP is now basted on AOSP x.x" etc.
So, do I somehow need to match my TWRP and Android versions?
I guess TWRP will boot regardless of the Android version installed on my device, since that's the purpose of a recovery. But can it "understand" the specifics of a device running a certain Android version?
Like the change from /data/media to /data/media/0 or device encryption?
So, it's probably not a good idea to use TWRP 1.x on a device running Android 11?
Also, is it a good idea to run TRWP 3.6.2 on a device running Android 6?
Is using the latest Version of TWRP always recommended?
I couldn't find an answer to this...


text:
Is time in Exif or other metadata in a Nexus 5x video?
I have some MP4 videos taken with a Nexus 5x.  I no longer have that device.  Which of the Exif or XMP or the metadata (if any) contains time in UTC that the video started or ended?  I'm trying to get them in chronological order with all the still pictures I took.


text:
How do I know if files have been copied from my phone to a laptop via USB. Knowing I gave permission for file transfer
I connected my phone to someone's laptop so they could give me a certain file but I'm suspecting they used the opportunity to copy files from my phone to their device. Is there any chance a log is stored containing  any info about the process and what files were accessed?
Thank you.

Android only had logcat logging buffer a cyclic buffer of configurable size so old entries are overwritten after a certain time. But I am not aware that MTP transfers are logged into logcat. Next time use Bluetooth to receive a file...


text:
Can I check for multi-process apps on a device using adb?
I have an Android device and I want to know either:

whether there are currently any apps running in multiple processes
whether there are any apps installed with the ability to run in multiple processes

Is either of these possible with adb?


text:
Special permission "WiFi control" permission inactive
Special access "WiFi control" permissions on Samsung S6Lite (Android 12, 2022) can not be toggled on or off for all apps (system or non-systems apps; there was just one adjustable - Google Photos). It looks like something preventing a user to do so. I see the blue toggle icons, but they are sort of dimmed and I can not interact.
Any suggestions what's blocking?

Not a direct answer to your question. But you can try to change CHANGE_WIFI_STATE AppOp permission using app: PMX. Introduction here: What are manifest permissions and AppOps?. Disclosure: both links belong to me.

I can change CHANGE_WIFI_STATE with ADB. The question is: What blocks on the user interface level? Because in all other devices I new there were nothing preventing controlling "WiFi control" permissions. But thank you for reference to your app.


text:
No widgets show in Android 12
I just noticed that no widgets display on my phone. I updated to Android 12 a few weeks ago, but honestly, I don't make use of widgets, so I don't know if they worked before the upgrade.
Troubleshooting after I was not successful in resolving the issue, I saw that I can select a widget and place it on the screen, but it still doesn't display.
What setting can I check that could cause this problem besides the 'normal' ones, like allowing the widget to overlay programs?

Could you mention the device model? Have you tried different home screen/launcher apps? Is the device by chance using Android Go?

The phone is a Moto G Power.


text:
Why would Android display "Security policy prevents use of unsecure networks" message?
When disconnecting a non-rooted stock Samsung Android Nougat (7.0) device from a WPA2 WiFi connection, Android briefly displayed the following message:

Security policy prevents use of unsecure networks.

An internet search found a thread with someone reporting the same issue, but no resolution was provided.
Why would Android (or perhaps something in Samsung's ROM?) be presenting this message?

What is the form of this message? A Toast, a Dialog, a Notification? You can look into the logcat and repeat the steps that leads to that message. Something might show as the caller for that message. Also, what device administrators do you currently have enabled? // There is a suggestion here. See if that helps. https://www.googlenestcommunity.com/t5/Chromecast/Security-policy/m-p/201791/highlight/true#M21181

This or this//

//or this


text:
How to open Google Assistant from lock screen without voice command?
On a Samsung phone, I cant find a way to open/command Google Assistant from lock screen with a touch button or even side keys. Looks like only way to open it from lock screen is "ok google" voice command. I'd like to start it via touch button or side key, not voice. Thanks.

What model, doe sit have Bixby ?

@RohitGupta , a52 a32 applies to all models with android 11 i guess.  It has bixby. Having problem with g.asistant though.

On Android 13

Open Settings
In Search, type in Side
Click on Side key
Enable Double Press
Select Open App
Select Google

Now a double press will launch it.  On my Note 20, it is the Power Key.
On Android 11
I cant test it, but this is supposed to work. You need to make a quick command, change Bixby to double press and assign Google to single press.

Open Bixby
Press on three dot menu
Select Quick commands
Press the + button on the upper right of the screen within the Quick commands page
Enter Google in the field under "What Bixby does"
Press Type a command
Enter Launch Assistant  exactly
Press Bixby key once
In Settings
Enable Double Press to Open Bixby  Now Bixby will launch with double press
Select Use single press
Enable it
Select Run quick command
Select Google

Now Google should open with one click of the Bixby button.
Ref gadgethacks

Thanks but it didnt work. It only opens after unlocking device besides Google app opens not assistant.

I think thats the closest you are going to get.  The Google window has the Assistant at the very top.  Its one step closer.


text:
Does native Android have a backup solution similar to iOS?
Does native (i.e. unrooted, non-unlocked, non-jailsomehowbroken) Android (later versions of it) have a backup solution similar to iOS (what used to be called iTunes backup, whatever it's called now) ?
That is allowing to essentially "clone" the phone/tablet across to another physical device. i.e. one simply cannot tell the difference when opening the cloned device, everything is the same on it, without having to re-login to all cloud apps, reconfigure things etc.
And before you go "With Android, it depends on OEM" -- well, OEMs base their derivative OS on Android anyway, hence the question mentioning "native" Android solution.
Note: ADB is great but is NOT equivalent nor similar to iOS backup, where "everything" is backed up (including sensitive data like keychain and health data, when password-enabled encryption is on) and that same "everything" is restorable to another iOS device. And no, please do not start iOS vs Android war in comments or answers, it's not the purpose of the question. The purpose is to find the answer to the above question.

Answer: No

The android backup will transfer most data, but not all.  Any paid for apps require installation.  And in general, logins are not preserved.

Well, TL,DR Version is no.

Android as "native" AOSP has ADB Backup, which is far away from being complete and thus similar to iOS solution.

Android as Google requires it by Vendors to be implemented (with Google Play Services) include the Google proprietary Backup Solution to backup to Google Drive with Google One. This is vendor-agnostic, so i have seen this on every smartphone yet. This also saves things you would expect to be saved, like settings, Apps, personal Data and Files and most important App-Data. But with App-Data there is a culprit: the developer of the App can specify, which data is to be included. So there can be cases, where the developer doesn't specify this for certain data (for whatever reason) and it doesn't get backuped.

Vendors implement their own backup solution. Samsung e.g. does this, but based on what i experienced in the past those apps or integrated solutions are also not complete. They are limited what the system allows those apps by APIs.

Android Custom Roms are increasingly using an open-source App called Seedvault as their backup/restore solution. By compiling and including it in the system, it can handle backups the same way the Google solution handles it. But the drawback with developers excluding their apps for Backups still exists here.


text:
Recovery of unsaved 40 minute long video on Samsung A32
I took a video of approximately 40 minutes long this morning at a funeral. I stopped taking the video and waited for it to "process". It took very long, so I switched my phone off. But now I can't find it anywhere on my A32 Samsung. It is not in the recycling or trash bins. I also can't find it on Google photo's. Is there any way that I might be able to retrieve it? I was the only one that took a video, so it is very important to the family.

I'm sorry for your loss.  I truly hope someone is able to help you with this issue.  I had a similar experience with an important video that was not saved (on an LG Android device), and unfortunately I was not able to recover it.  Hopefully someone will find a solution for you.

Thank you, I appreciate your response!

You're welcome.  I feel for you.  One thing I can recommend - and I know it's not ideal - is for now, to not use the device at all, if possible.  Don't turn it off, but just plug it in and let it sleep.  That way, as little will get written to storage on the device as possible.  That will possibly buy you a little time to see if anyone has any good ideas.  (BTW, if you find good ideas elsewhere, please do post them as answers here... good quality self-answers are always welcome!)

I've added a few more tags to your question in hope that others may find it and provide helpful answers.

@RockPaperLz-MaskitorCasket, I am new on this platform. I wrote an answer below. Then, the community bot said that my answer is unclear. Can you please help me to understand if my answer is unclear and how to improve it ? Thanks. :-)

@Job_September_2020 Welcome!  Likely, a human reviewer found the answer you provided lacking in some regard (even though it says "Community Bot", I think that's a problem with StackExchange).  The "lacking" is probably that the answer partially says "to Google it".  Now, personally, I think your answer adds sufficient additional information to be valuable (as the OP confirmed), but human reviews are subject to human opinions (and error).  Overall, I think your answer is useful, but relies too much on "Google it".  Self-contained answers are best and are often upvoted.  I hope this helps you.

@Job_September_2020 BTW, technically, the "correct" place to ask your question would be in this SE's Meta (https://android.meta.stackexchange.com), but I'm a flexible person! :)

One option is to take your phone to a professional data recovery
center, and they will try to recover the video for you.
For example, if you google "Phone Data Recovery", you can see
lots of services available. You can add your local city to google
search "Phone Data Recovery in My City (such as Seattle, Miami, Toronto,...)" and it may recommend some
local services in your city if there is any available.

Another option is to google "Android Phone Data Recovery Software" to  see if there is any recovery
software either free or paid, which could be used to recover the
video. However, since you have not installed the software before
your record the video, the potentially BIG issue is that if you install a
recovery software now after you already lose the video, the new software may be installed over your lost video and you will lose that video. So, I will not recommend this option for your current situation.

Since you switched off the phone while the video was being saved, the video may not be properly created on your phone yet, and that makes it even more difficult to recover than the case where you accidentally delete a good and working video.  However, I still hope that the professional service centers can help. Good luck.

As it’s currently written, your answer is unclear. Please [edit] to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.

Thank you, I understood your answer very well and I appreciate your advice!

@Marieta, I appreciate your reply. Best wishes. :-)


text:
Where are original photos in Samsung Gallery stored?
In the Samsung Gallery app, we can edit photos and overwrite the original. Yet, we can somehow revert it. So the app seems to be saving original photos somewhere.
2 questions:

Where are they stored?
How to remove them?

I cannot find any info online about this.

it's in Samsung Gallery app data

Then can i remove those data only?

yes, if you clear app data from settings this won't touch DCIM/Camera directory

@alecxs it doesnt work

on my (MIUI) Gallery there is no such option to revert edits. instead, each edited file is saved as new file in original location with different name, while the original file remains untouched

Its a mystery to me too.  I suspect it may be in the cloud

Where in the cloud? I dont think so
Edit: there is another app for Samsung photo editing (not gallery). clearing data there doesnt help either


text:
How can I get the output of an application via ADB?
I would like to get the text output of Google Voice2Text feature [Android9] via adb.  The one you get when clicking the microphone on the keyboard (Google Voice Typing in the pref panel).
I tried adb logcat to debug and it seems com.google.android.googlequicksearchbox:search is the one.
But on the output of adb logcat --pid=PID, I get many things, but no "text data", and a bunch of errors by the way.
But logcat is surely not the right tool.
How would you do this?
The logcat output:
    └─$ adb logcat --pid=16481
--------- beginning of main
12-28 05:23:00.205 +0000 16481 16481 D ViewRootImpl@dae9332[InputMethod]: ViewPostIme pointer 0
12-28 05:23:00.246 +0000 16481 16481 D ViewRootImpl@dae9332[InputMethod]: ViewPostIme pointer 1
12-28 05:23:00.248 +0000 16481 16481 I A       : #restart
12-28 05:23:00.249 +0000 16481 16481 I A       : #finishRecognition
12-28 05:23:00.249 +0000 16481 16481 I A       : #cancelRecognition
12-28 05:23:00.249 +0000 16481 16481 I A       : #cancel
12-28 05:23:00.249 +0000 16481 16481 I A       : #failWithException
12-28 05:23:00.250 +0000 16481 16481 I A       : Offline recognizer - stop detection
12-28 05:23:00.251 +0000 16481 16481 I A       : #startListening
12-28 05:23:00.251 +0000 16481 16596 W A       : (REDACTED) #onError space %s code %d!
12-28 05:23:00.251 +0000 16481 16596 W A       : #onError already finished - ignoring
12-28 05:23:00.253 +0000 16481 16481 I A       : (REDACTED) #onCreateView, request-id = %d
12-28 05:23:00.254 +0000 16481 16573 I ALT.AFClient: (REDACTED) #audio# acquire audio focus for client(%s)
12-28 05:23:00.254 +0000 16481 16573 I ALT.AFCSessionMgr: (REDACTED) #audio# acquire audio focus for client(%s) session(token(%d))
12-28 05:23:00.257 +0000 16481 16573 I ALT.ARCProvider: (REDACTED) #audio# activate audio request client(%s) and start listening
12-28 05:23:00.257 +0000 16481 16573 I ALT.ARCProvider: (REDACTED) #audio# activate audio request client(%s)
12-28 05:23:00.257 +0000 16481 16573 I ALT.ClientsMgr: (REDACTED) #audio# deactivate(status(%s)) client(name(%s), token(%d))
12-28 05:23:00.258 +0000 16481 16573 I ALT.ARCRoutingMgr: (REDACTED) #audio# disconnect(reason(%s)) audio route(%s)
12-28 05:23:00.258 +0000 16481 16573 I ALT.ClientsMgr: (REDACTED) #audio# activate audio request client(name(%s), token(%d))
12-28 05:23:00.259 +0000 16481 16573 I ALT.ARClient: (REDACTED) #audio# start listening for audio request client(token(%s))
12-28 05:23:00.261 +0000 16481 16573 I ALT.ARCSessionMgr: (REDACTED) #audio# audio request client(token(%d)) session(token(%d)) is being started on route(%s)
12-28 05:23:00.261 +0000 16481 16573 I ALT.SourceMgr: (REDACTED) #audio# audio request client(token(%d)) session(token(%d)) is being started
12-28 05:23:00.262 +0000 16481 16573 I ALT.SourceSequencer: (REDACTED) #audio# open audio source(%s)
12-28 05:23:00.265 +0000 16481 25695 I ALT.AudioRecordSource: (REDACTED) #audio# open audio source(%s)
12-28 05:23:00.266 +0000 16481 25695 I ALT.AudioRecordFactory: #audio# createAudioRecord
12-28 05:23:00.266 +0000 16481 16588 I ALT.AudioEventsHolder: (REDACTED) #audio# audio focus session(token(%d)) acquire status(%s)
12-28 05:23:00.266 +0000 16481 16591 I A       : (REDACTED) Audio focus acquiring status: %s
12-28 05:23:00.267 +0000 16481 16573 I A       : Online recognizer - start listening
12-28 05:23:00.272 +0000 16481 16573 I A       : Offline recognizer - start listening
12-28 05:23:00.273 +0000 16481 25697 W A       : (REDACTED) %s
12-28 05:23:00.273 +0000 16481 16573 I A       : (REDACTED) Initialize Soda [locale: %s]
12-28 05:23:00.273 +0000 16481 25697 W A       : (REDACTED) %s
12-28 05:23:00.274 +0000 16481 16560 I A       : Initialize Soda with language pack directory
12-28 05:23:00.277 +0000 16481 16560 I A       : Creating new SodaSharedResources
12-28 05:23:00.278 +0000 16481 16560 I native  : I0000 00:00:1672204980.277941   16560 soda_async_impl.cc:358] Creating soda_impl.
12-28 05:23:00.278 +0000 16481 25694 I A       : (REDACTED) S3Request:
12-28 05:23:00.278 +0000 16481 25694 I A       : %s
12-28 05:23:00.281 +0000 16481 25701 W native  : W0000 00:00:1672204980.281442   25701 enrollment_manager_impl.cc:959] Failed to get cache folder:INVALID_ARGUMENT: Cache path is empty
12-28 05:23:00.281 +0000 16481 25701 W native  : === Source Location Trace: ===
12-28 05:23:00.281 +0000 16481 25701 W native  : speech/soda/speaker_id/enrollment/enrollment_manager_impl.cc:147
12-28 05:23:00.281 +0000 16481 25701 W native  : W0000 00:00:1672204980.281885   25701 enrollment_manager_impl.cc:977] SODA EnrollmentManager disabled.
12-28 05:23:00.282 +0000 16481 25701 I native  : I0000 00:00:1672204980.282001   25701 enrollment_storage.cc:635] Storage cleared:OK
12-28 05:23:00.282 +0000 16481 16560 I native  : I0000 00:00:1672204980.282451   16560 soda_async_impl.cc:1797] Updated speaker id profiles.
12-28 05:23:00.282 +0000 16481 16560 I native  : I0000 00:00:1672204980.282658   16560 soda_impl.cc:289] Maximum audio history: 30s
12-28 05:23:00.282 +0000 16481 16560 I native  : I0000 00:00:1672204980.282893   16560 soda_impl.cc:313] Adding Resampler from 16000 to 16000
12-28 05:23:00.285 +0000 16481 16560 I native  : I0000 00:00:1672204980.285134   16560 soda_impl.cc:531] Enabling power evaluator.
12-28 05:23:00.285 +0000 16481 16560 I native  : I0000 00:00:1672204980.285336   16560 soda_impl.cc:541] Adding preamble processor.
12-28 05:23:00.285 +0000 16481 16560 I native  : I0000 00:00:1672204980.285432   16560 soda_impl.cc:570] Enabling On Device ASR
12-28 05:23:00.285 +0000 16481 16560 W native  : W0000 00:00:1672204980.285650   16560 language_pack_utils.cc:122] Error reading from /data/user/0/com.google.android.googlequicksearchbox/app_g3_models/fr-FR/configs: error 'No such file or directory' while opening directory '/data/user/0/com.google.android.googlequicksearchbox/app_g3_models/fr-FR/configs': No such file or directory
12-28 05:23:00.286 +0000 16481 16560 I native  : I0000 00:00:1672204980.286495   16560 terse_processor.cc:1136] LP details: [locale: fr-fr, version: 401, config file: /data/user/0/com.google.android.googlequicksearchbox/app_g3_models/fr-FR/dictation.config, personalized resources dir: <NONE>]
12-28 05:23:00.289 +0000 16481 16560 I native  : I0000 00:00:1672204980.288266   16560 terse_processor.cc:234] Loaded PipelineDef.
12-28 05:23:00.293 +0000 16481 25695 I ALT.AudioRecordSource: (REDACTED) #audio# create audio stream for audio record source(identity(%s), recordId(%d))
12-28 05:23:00.306 +0000 16481 16588 I ALT.AudioEventsHolder: (REDACTED) #audio# audio request client(token(%d)) session(token(%d)) start listening status(%s)
12-28 05:23:00.306 +0000 16481 16573 I A       : (REDACTED) #audio# AudioRequestListeningSession start listening status: %s
12-28 05:23:00.306 +0000 16481 16588 I A       : #audio# reportMicUpdate
12-28 05:23:00.338 +0000 16481 25697 I A       : (REDACTED) Playing beep %s (size %d bytes)
12-28 05:23:00.421 +0000 16481 25695 I ALT.FirstByteReporter: (REDACTED) #audio# mark first byte read result as non-empty, %dms spent reading
12-28 05:23:00.625 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:00.632 +0000 16481 16481 I A       : Audio track end of file reached
12-28 05:23:00.633 +0000 16481 16481 D AudioTrack: stop() called with 4313 frames delivered
12-28 05:23:00.640 +0000 16481 16560 I native  : I0000 00:00:1672204980.640115   16560 terse_processor.cc:251] Initialized ResourceManager.
12-28 05:23:00.641 +0000 16481 16560 I native  : I0000 00:00:1672204980.640995   16560 terse_processor.cc:263] Initialized GoogleRecognizer.
12-28 05:23:00.641 +0000 16481 16560 W native  : W0000 00:00:1672204980.641629   16560 terse_processor.cc:370] TISID disabled.
12-28 05:23:00.641 +0000 16481 16560 I native  : I0000 00:00:1672204980.641680   16560 terse_processor.cc:1228] Domain: CAPTION
12-28 05:23:00.642 +0000 16481 16560 W native  : W0000 00:00:1672204980.642507   16560 context_session_resource.cc:120] ContextAwareModel context_model cannot process the following RecognitionContext:
12-28 05:23:00.642 +0000 16481 16560 W native  : MessageLite at 0xbdb05900
12-28 05:23:00.643 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:00.647 +0000 16481 16560 E native  : E0000 00:00:1672204980.647483   16560 ngram_fst_state.cc:58] Unigram state not found
12-28 05:23:00.654 +0000 16481 16560 I native  : I0000 00:00:1672204980.653812   16560 terse_processor.cc:2305] Resetting Terse Processor
12-28 05:23:00.654 +0000 16481 16560 I native  : I0000 00:00:1672204980.654230   16560 terse_processor.cc:1367] Cancelling session.
12-28 05:23:00.658 +0000 16481 16560 W native  : W0000 00:00:1672204980.658625   16560 decoder_endpointer_stream.cc:58] Acoustic ep reader thread cancelled.
12-28 05:23:00.659 +0000 16481 16560 I native  : I0000 00:00:1672204980.659872   16560 terse_processor.cc:1267] Setup completed
12-28 05:23:00.660 +0000 16481 16560 I native  : I0000 00:00:1672204980.659989   16560 soda_impl.cc:660] Server ASR Disabled
12-28 05:23:00.660 +0000 16481 16560 I native  : I0000 00:00:1672204980.660029   16560 soda_impl.cc:737] Initializing audio logger
12-28 05:23:00.660 +0000 16481 16560 I native  : I0000 00:00:1672204980.660077   16560 audio_logging_manager.cc:187] Using in-memory storage due to cache settings.
12-28 05:23:00.660 +0000 16481 16560 I native  : I0000 00:00:1672204980.660584   16560 soda_async_impl.cc:520] Will attempt to run SODA at thread priority 10
12-28 05:23:00.660 +0000 16481 16560 I native  : I0000 00:00:1672204980.660675   16560 hybrid_selector_impl.cc:89] HybridSelector: Disabled
12-28 05:23:00.660 +0000 16481 25714 I native  : I0000 00:00:1672204980.660702   25714 audio_logging_manager.cc:1286] Cleaned storage:OK
12-28 05:23:00.661 +0000 16481 16560 I A       : (REDACTED) Initialized SODA with status: %s
12-28 05:23:00.661 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:00.662 +0000 16481 16558 I A       : Offline recognizer - start detection
12-28 05:23:00.663 +0000 16481 16558 I native  : I0000 00:00:1672204980.663561   16558 soda_client.cc:273] Starting capture.
12-28 05:23:00.663 +0000 16481 16558 I native  : I0000 00:00:1672204980.663735   16558 soda_client.cc:314] Loopback Provider config not present. Skipping Loopback
12-28 05:23:00.663 +0000 16481 16558 I native  : I0000 00:00:1672204980.663810   16558 soda_async_impl.cc:639] SODA session starting (require_hotword:0, hotword_timeout_in_millis:0, trigger_type:TRIGGER_TYPE_UNSPECIFIED, hybrid_asr_config.mode:MODE_DEFAULT)
12-28 05:23:00.664 +0000 16481 16558 I native  : I0000 00:00:1672204980.664010   16558 soda_async_impl.cc:918] Session parameters updated. Reconfiguring SODA.
12-28 05:23:00.664 +0000 16481 16558 I native  : I0000 00:00:1672204980.664803   16558 hybrid_selector_impl.cc:89] HybridSelector: Disabled
12-28 05:23:00.665 +0000 16481 16558 I native  : I0000 00:00:1672204980.664968   16558 terse_processor.cc:1914] Setting impersonated speaker id to: <NONE>
12-28 05:23:00.665 +0000 16481 16558 I native  : I0000 00:00:1672204980.665080   16558 soda_async_impl.cc:619] Nice value unchanged at 10. Not changing SODA thread.
12-28 05:23:00.666 +0000 16481 16556 I A       : Starting to push audio to Soda
12-28 05:23:00.667 +0000 16481 25699 I native  : I0000 00:00:1672204980.666910   25699 hybrid_selector_impl.cc:97] StartSession
12-28 05:23:00.668 +0000 16481 25699 I native  : I0000 00:00:1672204980.668070   25699 soda_async_impl.cc:1519] SODA received first mic audio buffer, size in bytes: 320, format: 1, channels: 1, : sample rate: 16000
12-28 05:23:00.668 +0000 16481 25699 I native  : I0000 00:00:1672204980.668598   25699 terse_processor.cc:2149] No terse session, starting a new one on input audio.
12-28 05:23:00.671 +0000 16481 25699 W native  : W0000 00:00:1672204980.671232   25699 context_session_resource.cc:120] ContextAwareModel context_model cannot process the following RecognitionContext:
12-28 05:23:00.671 +0000 16481 25699 W native  : MessageLite at 0xe11b76c0
12-28 05:23:00.680 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:00.689 +0000 16481 25699 E native  : E0000 00:00:1672204980.689129   25699 ngram_fst_state.cc:58] Unigram state not found
12-28 05:23:00.708 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:01.181 +0000 16481 25699 I native  : I0000 00:00:1672204981.181065   25699 soda_async_impl.cc:1228] Not receiving any loopback audio in 500ms. Last audio received time: 0, Current time in us: 1672204981181061
12-28 05:23:02.020 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:02.463 +0000 16481 16481 I chatty  : uid=10062 com.google.android.googlequicksearchbox:search identical 20 lines
12-28 05:23:02.481 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:03.041 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:03.060 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:03.081 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:03.101 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:03.241 +0000 16481 16481 I chatty  : uid=10062 com.google.android.googlequicksearchbox:search identical 7 lines
12-28 05:23:03.261 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:03.460 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:03.521 +0000 16481 16481 I chatty  : uid=10062 com.google.android.googlequicksearchbox:search identical 3 lines
12-28 05:23:03.560 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:03.640 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:03.660 +0000 16481 16481 I chatty  : uid=10062 com.google.android.googlequicksearchbox:search identical 1 line
12-28 05:23:03.681 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:03.700 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:03.721 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:03.821 +0000 16481 16481 I chatty  : uid=10062 com.google.android.googlequicksearchbox:search identical 5 lines
12-28 05:23:04.081 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:04.089 +0000 16481 16481 D ViewRootImpl@dae9332[InputMethod]: ViewPostIme pointer 0
12-28 05:23:04.101 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:04.120 +0000 16481 16481 I A       : (REDACTED) #setSpeechLevel %d
12-28 05:23:04.179 +0000 16481 16481 D ViewRootImpl@dae9332[InputMethod]: ViewPostIme pointer 1
12-28 05:23:04.181 +0000 16481 16481 I A       : #closeMicrophone
12-28 05:23:04.182 +0000 16481 16481 I ALT.ARCSession: (REDACTED) #audio# stop(reason(%s)) listening audio request client(token(%d)) session(token(%d))
12-28 05:23:04.183 +0000 16481 16481 I ALT.ARCSessionMgr: (REDACTED) #audio# stop(reason(%s)) listening audio request session(token(%d))
12-28 05:23:04.184 +0000 16481 16481 I ALT.SourceMgr: #audio# stopListening
12-28 05:23:04.184 +0000 16481 16481 I ALT.SourceSequencer: (REDACTED) #audio# close audio source(%s)
12-28 05:23:04.185 +0000 16481 25697 I ALT.AudioRecordSource: (REDACTED) #audio# close audio source(identity(%s), recordId(%d))
12-28 05:23:04.185 +0000 16481 16481 I ALT.AFCSession: (REDACTED) #audio# release audio focus session(token(%d))
12-28 05:23:04.186 +0000 16481 25695 I ALT.BytesAccessorBuffer: (REDACTED) #audio# mark buffer(%s) closed, available bytes(%d)
12-28 05:23:04.188 +0000 16481 16556 W A       : #audio# read failed: read EOF from AudioAccessor.
12-28 05:23:04.188 +0000 16481 25696 W A       : #audio# read failed: read EOF from AudioAccessor.
12-28 05:23:04.188 +0000 16481 16556 I A       : Sending end of audio to Soda.
12-28 05:23:04.189 +0000 16481 25699 I native  : I0000 00:00:1672204984.188958   25699 soda_async_impl.cc:1129] SODA stopped processing audio, mics audio processed in millis: 3780, loopback audio processed in millis: 0
12-28 05:23:04.189 +0000 16481 25715 I native  : I0000 00:00:1672204984.188938   25715 audio_provider_reader.cc:163] Got end of data in: micsreader
12-28 05:23:04.189 +0000 16481 16588 I A       : startDetection successful
12-28 05:23:04.189 +0000 16481 25699 I native  : I0000 00:00:1672204984.189760   25699 terse_processor.cc:1946] Flushing pending events ..
12-28 05:23:04.190 +0000 16481 25699 I native  : I0000 00:00:1672204984.190000   25699 terse_processor.cc:1962] Start longform loop on remaining audio: 3.78s
12-28 05:23:04.191 +0000 16481 25694 W A       : #audio# read failed: read EOF from AudioAccessor.
12-28 05:23:04.192 +0000 16481 16573 I A       : (REDACTED) Audio focus releasing status: %s
12-28 05:23:04.194 +0000 16481 16596 I ALT.AudioEventsHolder: (REDACTED) #audio# audio focus session(token(%d)) release status(%s)
12-28 05:23:04.214 +0000 16481 16588 I A       : (REDACTED) #audio# AudioRequestListeningSession stop listening status: %s
12-28 05:23:04.214 +0000 16481 16573 I ALT.AudioEventsHolder: (REDACTED) #audio# audio request client(token(%d)) session(token(%d)) stop listening status(%s)
12-28 05:23:04.214 +0000 16481 16591 I A       : (REDACTED) Mic closing result: %s
12-28 05:23:04.214 +0000 16481 16573 I A       : #audio# reportMicUpdate
12-28 05:23:04.294 +0000 16481 25699 I native  : I0000 00:00:1672204984.294191   25699 terse_processor.cc:2545] TerseProcessor HasRecognitionEvent With Final
12-28 05:23:04.294 +0000 16481 25719 I native  : I0000 00:00:1672204984.294174   25719 terse_processor.cc:836] Final recognition has been created.
12-28 05:23:04.294 +0000 16481 25699 I native  : I0000 00:00:1672204984.294577   25699 terse_processor.cc:1986] Stop looping and end session. Audio left: 30ms
12-28 05:23:04.302 +0000 16481 25699 I native  : I0000 00:00:1672204984.302101   25699 soda_impl.cc:1354] Got pipeline signal out
12-28 05:23:04.302 +0000 16481 25699 I native  : I0000 00:00:1672204984.302838   25699 soda_async_impl.cc:1618] Ending ASR due to process sync signal.
12-28 05:23:04.302 +0000 16481 25699 I native  : I0000 00:00:1672204984.302886   25699 hybrid_selector_impl.cc:143] EndSession
12-28 05:23:04.302 +0000 16481 25699 W native  : W0000 00:00:1672204984.302915   25699 hybrid_selector_impl.cc:145] No active session.
12-28 05:23:04.303 +0000 16481 25699 I native  : I0000 00:00:1672204984.303198   25699 terse_processor.cc:2305] Resetting Terse Processor
12-28 05:23:04.303 +0000 16481 25699 I native  : I0000 00:00:1672204984.303276   25699 metrics_utils.cc:298] Unhandled metrics event type: SODA_PROCESS_LATENCY
12-28 05:23:04.303 +0000 16481 25699 I native  : I0000 00:00:1672204984.303338   25699 soda_async_impl.cc:1186] SODA session stopped due to: MIC_END_OF_DATA
12-28 05:23:04.310 +0000 16481 16593 I A       : (REDACTED) TTL (%d seconds) reached - destroy SODA
12-28 05:23:04.326 +0000 16481 16593 I native  : I0000 00:00:1672204984.326908   16593 soda_async_impl.cc:1258] Deleted soda_impl.
12-28 05:23:04.327 +0000 16481 25700 I native  : I0000 00:00:1672204984.327336   25700 soda_jni_event_delegate.cc:95] Done
12-28 05:23:04.328 +0000 16481 16593 I native  : I0000 00:00:1672204984.328083   16593 enrollment_manager_impl.cc:1910] Shutting down ..
12-28 05:23:04.399 +0000 16481 16596 I A       : Received a final result for a segment
12-28 05:23:04.399 +0000 16481 16596 I A       : Received the final result for the recognition
12-28 05:23:04.401 +0000 16481 16573 I A       : Offline recognizer - stop detection
12-28 05:23:04.420 +0000 16481 25697 I A       : (REDACTED) Playing beep %s (size %d bytes)
12-28 05:23:04.421 +0000 16481 18532 I cr_CronetUrlRequestContext: destroyNativeStreamLocked org.chromium.net.impl.CronetBidirectionalStream@40adef8
12-28 05:23:04.852 +0000 16481 16481 I A       : Audio track end of file reached
12-28 05:23:04.853 +0000 16481 16481 D AudioTrack: stop() called with 6788 frames delivered
12-28 05:23:09.408 +0000 16481 16590 I A       : #failWithException
12-28 05:23:09.410 +0000 16481 16590 W A       : (REDACTED) #onError space %s code %d!
12-28 05:23:09.411 +0000 16481 16590 W A       : #onError already finished - ignoring

Typically user input should not be written to any log file as it can contain sensitive data. If your device is rooted you could try to attach to the corresponding app/process using https://Frida.re but that will require some Java and JavaScript development experience as you have to decompile the app e.g. using Jadx, identify the correct methods and then write a Frida-Hook to retrieve the data.


text:
How to stop Beautiful Widget from being removed on device reboot?
I have a Nexus S running 4.1.1 and a Nexus 7 running 4.2.1 and they both have the same problem with Beautiful Widgets.  Whenever I reboot either device, the widgets no longer show up on the home screen or lock screen (for the tablet).
When I open the Beautiful Widgets config app, I can see that they're still tracking the widgets I added but I'm unable to get them to show up on my home screen again unless I add a new one and reconfigure it.  Is this a problem with the latest versions of Android or is this a Beautiful Widgets problem?

The problem is caused by a bug in Jelly Bean that causes apps installed via Google Play to be installed to the external storage regardless of the "internalOnly" qualifier in the application manifest.  Source: Android Bug Tracker 1 and 2
The issue of widgets disappearing can be resolved with a work around using Titanium Backup.  You install Beautiful Widgets through the store, back up and uninstall Beautiful Widgets using Titanium Backup, then reinstall Beautiful Widgets to internal storage via the backup.  I believe Titanium Backup requires root access so I won't be using this solution on my personal phone but I have tested with a rooted dev tablet and it works.
The issue has been marked as fixed for the next Android release so aside from rooting my device, waiting for an update is the only solution.

Make sure the app is on internal memory, not the SD card. I know that Android does not support widgets for apps that have been installed to the SD card instead of internal memory (at least for android 3 and below; not sure if it has changed for android 4).

Quite true. The technical reason behind this: the SD card is mounted only when the boot_completed broadcast already has been sent. So nothing installed on SD card receives the boot_completed event. Apps installed on SD thus cannot "autmatically start on boot", widgets not automatically load. And they would break as soon as the card is connected to a PC via USB, of course...

Beautiful Widgets doesn't support installation to the SD card so it has to be on internal memory. http://i.imgur.com/Ms4mPdd.png