fix thread blocking,add android service Looper,Handler
This commit is contained in:
		
							parent
							
								
									51ad81e48f
								
							
						
					
					
						commit
						a348ba3d7e
					
				| @ -124,6 +124,9 @@ class MainService : Service() { | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private var serviceLooper: Looper? = null | ||||
|     private var serviceHandler: Handler? = null | ||||
| 
 | ||||
|     // jvm call rust | ||||
|     private external fun init(ctx: Context) | ||||
|     private external fun startServer() | ||||
| @ -174,6 +177,11 @@ class MainService : Service() { | ||||
| 
 | ||||
|     override fun onCreate() { | ||||
|         super.onCreate() | ||||
|         HandlerThread("Service", Process.THREAD_PRIORITY_BACKGROUND).apply { | ||||
|             start() | ||||
|             serviceLooper = looper | ||||
|             serviceHandler = Handler(looper) | ||||
|         } | ||||
|         updateScreenInfo() | ||||
|         initNotification() | ||||
|         startServer() | ||||
| @ -287,7 +295,7 @@ class MainService : Service() { | ||||
|                             } | ||||
|                         } catch (ignored: java.lang.Exception) { | ||||
|                         } | ||||
|                     }, null) | ||||
|                     }, serviceHandler) | ||||
|                 } | ||||
|             Log.d(logTag, "ImageReader.setOnImageAvailableListener done") | ||||
|             imageReader?.surface | ||||
|  | ||||
| @ -346,6 +346,7 @@ class ConnectionManager extends StatelessWidget { | ||||
|                         icon: Icon(Icons.close), | ||||
|                         onPressed: () { | ||||
|                           FFI.setByName("close_conn", entry.key.toString()); | ||||
|                           FFI.invokeMethod("cancel_notification", entry.key); | ||||
|                         }, | ||||
|                         label: Text(translate("Close"))) | ||||
|                   ], | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user