Yo. A few weeks ago i was stumbling online and found this funny adb command:
adb shell cmd device_config put privacy camera_mic_icons_enabled false default
It's supposed to disable the green recording dot. That means you could turn on a voice recorder, record a conversation and use your phone without anyone knowing (since there is no green dot).
I thought "thats never gonna work", tried it, and it worked. Even after a restart. Then my phone updated to android 16, and now when I try to disable it again using this command:
adb shell cmd device_config put privacy camera_mic_icons_enabled true default
I get an error. For context, I tried re-enabling the dot just after I first disabled it, and that worked.
Here is my error:
(base) user@computer:~$ adb shell cmd device_config put privacy camera_mic_icons_enabled true default
Exception occurred while executing 'put':
java.lang.SecurityException: Permission denial for flag 'privacy/camera_mic_icons_enabled'; allowlist permission granted, but must add flag to the allowlist
at com.android.providers.settings.SettingsProvider.enforceDeviceConfigWritePermission(SettingsProvider.java:2611)
at com.android.providers.settings.SettingsProvider.mutateConfigSetting(SettingsProvider.java:1344)
at com.android.providers.settings.SettingsProvider.insertConfigSetting(SettingsProvider.java:1206)
at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:475)
at android.content.ContentProvider.call(ContentProvider.java:2737)
at android.content.ContentProvider$Transport.call(ContentProvider.java:639)
at android.provider.Settings$NameValueCache.putStringForUser(Settings.java:3583)
at android.provider.Settings$Config.putString(Settings.java:21380)
at android.provider.SettingsConfigDataStore.setProperty(SettingsConfigDataStore.java:61)
at android.provider.DeviceConfig.setProperty(DeviceConfig.java:1476)
at com.android.providers.settings.DeviceConfigService$MyShellCommand.onCommand(DeviceConfigService.java:511)
at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
at android.os.ShellCommand.exec(ShellCommand.java:38)
at com.android.providers.settings.DeviceConfigService.onShellCommand(DeviceConfigService.java:101)
at android.os.Binder.shellCommand(Binder.java:1163)
at android.os.Binder.onTransact(Binder.java:965)
at android.os.Binder.execTransactInternal(Binder.java:1470)
at android.os.Binder.execTransact(Binder.java:1404)
(base) user@computer:~$
More context: Both commands still work on my trash phone running LineageOS with android 15.
Did I fuck up? Or did I create a valuable android device?