FaceUnlock: Fix SecurityException with registerReceiver

* Required on A14 onwards.

Log:
time: 1701082838954
msg: java.lang.SecurityException: Remote stack trace:
	at com.android.server.am.ActivityManagerService.registerReceiverWithFeature(ActivityManagerService.java:13940)
	at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:2588)
	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2731)
	at android.os.Binder.execTransactInternal(Binder.java:1339)
	at android.os.Binder.execTransact(Binder.java:1275)

stacktrace: java.lang.RuntimeException: Unable to create service co.aospa.sense.SenseService: java.lang.SecurityException: co.aospa.sense: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts
	at android.app.ActivityThread.handleCreateService(ActivityThread.java:4664)
	at android.app.ActivityThread.-$$Nest$mhandleCreateService(Unknown Source:0)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2264)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loopOnce(Looper.java:205)
	at android.os.Looper.loop(Looper.java:294)
	at android.app.ActivityThread.main(ActivityThread.java:8173)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)
Caused by: java.lang.SecurityException: co.aospa.sense: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts
	at android.os.Parcel.createExceptionOrNull(Parcel.java:3061)
	at android.os.Parcel.createException(Parcel.java:3045)
	at android.os.Parcel.readException(Parcel.java:3028)
	at android.os.Parcel.readException(Parcel.java:2970)
	at android.app.IActivityManager$Stub$Proxy.registerReceiverWithFeature(IActivityManager.java:5719)
	at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1852)
	at android.app.ContextImpl.registerReceiver(ContextImpl.java:1792)
	at android.app.ContextImpl.registerReceiver(ContextImpl.java:1780)
	at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:755)
	at co.aospa.sense.SenseService.onCreate(SenseService.kt:276)
	at android.app.ActivityThread.handleCreateService(ActivityThread.java:4651)
	... 9 more
Caused by: android.os.RemoteException: Remote stack trace:
	at com.android.server.am.ActivityManagerService.registerReceiverWithFeature(ActivityManagerService.java:13940)
	at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:2588)
	at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2731)
	at android.os.Binder.execTransactInternal(Binder.java:1339)
	at android.os.Binder.execTransact(Binder.java:1275)

Signed-off-by: Pranav Vashi <neobuddy89@gmail.com>
1 file changed
tree: 29d73ab197feb240e0d018aecfd8786bbc429fdb
  1. interfaces/
  2. lib/
  3. overlay/
  4. permissions/
  5. res/
  6. src/
  7. Android.bp
  8. AndroidManifest.xml
  9. LICENSE
  10. README.md
README.md

Paranoid Sense

An application and service to manage face unlock on Paranoid Android.

This application relies on private libraries that utilize AI techniques to capture a users face and all information is stored locally on the device.