mirror of
				https://github.com/mik3y/usb-serial-for-android
				synced 2025-10-31 02:17:23 +00:00 
			
		
		
		
	sdk 31 fixes: pending intent mutability
This commit is contained in:
		
							parent
							
								
									1091b4d88b
								
							
						
					
					
						commit
						ab27c19dc3
					
				| @ -3,7 +3,7 @@ plugins { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| android { | android { | ||||||
|     compileSdkVersion 31 |     compileSdkVersion 32 | ||||||
| 
 | 
 | ||||||
|     compileOptions { |     compileOptions { | ||||||
|         sourceCompatibility JavaVersion.VERSION_1_8 |         sourceCompatibility JavaVersion.VERSION_1_8 | ||||||
| @ -12,7 +12,7 @@ android { | |||||||
| 
 | 
 | ||||||
|     defaultConfig { |     defaultConfig { | ||||||
|         minSdkVersion 17 |         minSdkVersion 17 | ||||||
|         targetSdkVersion 31 |         targetSdkVersion 32 | ||||||
|         vectorDrawables.useSupportLibrary = true |         vectorDrawables.useSupportLibrary = true | ||||||
| 
 | 
 | ||||||
|         missingDimensionStrategy 'device', 'anyDevice' |         missingDimensionStrategy 'device', 'anyDevice' | ||||||
|  | |||||||
| @ -8,6 +8,7 @@ import android.content.IntentFilter; | |||||||
| import android.hardware.usb.UsbDevice; | import android.hardware.usb.UsbDevice; | ||||||
| import android.hardware.usb.UsbDeviceConnection; | import android.hardware.usb.UsbDeviceConnection; | ||||||
| import android.hardware.usb.UsbManager; | import android.hardware.usb.UsbManager; | ||||||
|  | import android.os.Build; | ||||||
| import android.os.Bundle; | import android.os.Bundle; | ||||||
| import android.os.Handler; | import android.os.Handler; | ||||||
| import android.os.Looper; | import android.os.Looper; | ||||||
| @ -211,7 +212,8 @@ public class TerminalFragment extends Fragment implements SerialInputOutputManag | |||||||
|         UsbDeviceConnection usbConnection = usbManager.openDevice(driver.getDevice()); |         UsbDeviceConnection usbConnection = usbManager.openDevice(driver.getDevice()); | ||||||
|         if(usbConnection == null && usbPermission == UsbPermission.Unknown && !usbManager.hasPermission(driver.getDevice())) { |         if(usbConnection == null && usbPermission == UsbPermission.Unknown && !usbManager.hasPermission(driver.getDevice())) { | ||||||
|             usbPermission = UsbPermission.Requested; |             usbPermission = UsbPermission.Requested; | ||||||
|             PendingIntent usbPermissionIntent = PendingIntent.getBroadcast(getActivity(), 0, new Intent(INTENT_ACTION_GRANT_USB), 0); |             int flags = Build.VERSION.SDK_INT >= Build.VERSION_CODES.M ? PendingIntent.FLAG_IMMUTABLE : 0; | ||||||
|  |             PendingIntent usbPermissionIntent = PendingIntent.getBroadcast(getActivity(), 0, new Intent(INTENT_ACTION_GRANT_USB), flags); | ||||||
|             usbManager.requestPermission(driver.getDevice(), usbPermissionIntent); |             usbManager.requestPermission(driver.getDevice(), usbPermissionIntent); | ||||||
|             return; |             return; | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -4,16 +4,16 @@ plugins { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| android { | android { | ||||||
|     compileSdkVersion 31 |     compileSdkVersion 32 | ||||||
| 
 | 
 | ||||||
|     defaultConfig { |     defaultConfig { | ||||||
|         minSdkVersion 17 |         minSdkVersion 17 | ||||||
|         targetSdkVersion 31 |         targetSdkVersion 32 | ||||||
|         consumerProguardFiles 'proguard-rules.pro' |         consumerProguardFiles 'proguard-rules.pro' | ||||||
|          |          | ||||||
|         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" |         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" | ||||||
|         testInstrumentationRunnerArguments = [                    // Raspi   Windows   LinuxVM   ... |         testInstrumentationRunnerArguments = [                    // Raspi   Windows   LinuxVM   ... | ||||||
|                 'rfc2217_server_host': '192.168.0.100', |                 'rfc2217_server_host': '192.168.0.186', | ||||||
|                 'rfc2217_server_nonstandard_baudrates': 'true',   // true    false     false |                 'rfc2217_server_nonstandard_baudrates': 'true',   // true    false     false | ||||||
|         ] |         ] | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -9,6 +9,7 @@ import android.hardware.usb.UsbDeviceConnection; | |||||||
| import android.hardware.usb.UsbManager; | import android.hardware.usb.UsbManager; | ||||||
| import android.media.RingtoneManager; | import android.media.RingtoneManager; | ||||||
| import android.net.Uri; | import android.net.Uri; | ||||||
|  | import android.os.Build; | ||||||
| import android.util.Log; | import android.util.Log; | ||||||
| 
 | 
 | ||||||
| import com.hoho.android.usbserial.driver.CdcAcmSerialDriver; | import com.hoho.android.usbserial.driver.CdcAcmSerialDriver; | ||||||
| @ -83,7 +84,8 @@ public class UsbWrapper implements SerialInputOutputManager.Listener { | |||||||
|                     granted[0] = intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false); |                     granted[0] = intent.getBooleanExtra(UsbManager.EXTRA_PERMISSION_GRANTED, false); | ||||||
|                 } |                 } | ||||||
|             }; |             }; | ||||||
|             PendingIntent permissionIntent = PendingIntent.getBroadcast(context, 0, new Intent("com.android.example.USB_PERMISSION"), 0); |             int flags = Build.VERSION.SDK_INT >= Build.VERSION_CODES.M ? PendingIntent.FLAG_IMMUTABLE : 0; | ||||||
|  |             PendingIntent permissionIntent = PendingIntent.getBroadcast(context, 0, new Intent("com.android.example.USB_PERMISSION"), flags); | ||||||
|             IntentFilter filter = new IntentFilter("com.android.example.USB_PERMISSION"); |             IntentFilter filter = new IntentFilter("com.android.example.USB_PERMISSION"); | ||||||
|             context.registerReceiver(usbReceiver, filter); |             context.registerReceiver(usbReceiver, filter); | ||||||
|             usbManager.requestPermission(serialDriver.getDevice(), permissionIntent); |             usbManager.requestPermission(serialDriver.getDevice(), permissionIntent); | ||||||
| @ -92,7 +94,7 @@ public class UsbWrapper implements SerialInputOutputManager.Listener { | |||||||
|                 Thread.sleep(1); |                 Thread.sleep(1); | ||||||
|             } |             } | ||||||
|             Log.d(TAG,"USB permission "+granted[0]); |             Log.d(TAG,"USB permission "+granted[0]); | ||||||
|             assertTrue("USB permission dialog not confirmed", granted[0]==null?false:granted[0]); |             assertTrue("USB permission dialog not confirmed", granted[0] != null && granted[0]); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // extract some device properties: |         // extract some device properties: | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user