Skip to content

Commit

Permalink
Merge pull request #584 from Spyspyspy/master
Browse files Browse the repository at this point in the history
Added permission for full screen intents in android 14
  • Loading branch information
hiennguyen92 authored Sep 22, 2024
2 parents 65cd987 + 62da717 commit 0390371
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -570,6 +570,15 @@ class CallkitNotificationManager(private val context: Context) {
}
}

fun requestFullIntentPermission(activity: Activity?) {
if (Build.VERSION.SDK_INT > 33) {
val intent = Intent(Settings.ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT).apply {
data = Uri.fromParts("package", activity?.packageName, null)
}
activity?.startActivity(intent)
}
}

fun onRequestPermissionsResult(activity: Activity?, requestCode: Int, grantResults: IntArray) {
when (requestCode) {
PERMISSION_NOTIFICATION_REQUEST_CODE -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,9 @@ class FlutterCallkitIncomingPlugin : FlutterPlugin, MethodCallHandler, ActivityA
}
callkitNotificationManager?.requestNotificationPermission(activity, map)
}
"requestFullIntentPermission" -> {
callkitNotificationManager?.requestFullIntentPermission(activity)
}
// EDIT - clear the incoming notification/ring (after accept/decline/timeout)
"hideCallkitIncoming" -> {
val data = Data(call.arguments() ?: HashMap())
Expand Down
3 changes: 3 additions & 0 deletions ios/Classes/SwiftFlutterCallkitIncomingPlugin.swift
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,9 @@ public class SwiftFlutterCallkitIncomingPlugin: NSObject, FlutterPlugin, CXProvi
case "requestNotificationPermission":
result("OK")
break
case "requestFullIntentPermission":
result("OK")
break
case "hideCallkitIncoming":
result("OK")
break
Expand Down
6 changes: 6 additions & 0 deletions lib/flutter_callkit_incoming.dart
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,12 @@ class FlutterCallkitIncoming {
return await _channel.invokeMethod("requestNotificationPermission", data);
}

/// Request permisstion show notification for Android(14)+
/// Only Android: show request permission for ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
static Future requestFullIntentPermission() async {
return await _channel.invokeMethod("requestFullIntentPermission");
}

static CallEvent? _receiveCallEvent(dynamic data) {
Event? event;
Map<String, dynamic> body = {};
Expand Down
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: flutter_callkit_incoming
description: Flutter Callkit Incoming to show callkit screen in your Flutter app.
version: 2.0.4+1
version: 2.0.4+2
homepage: https://github.com/hiennguyen92/flutter_callkit_incoming
repository: https://github.com/hiennguyen92/flutter_callkit_incoming
issue_tracker: https://github.com/hiennguyen92/flutter_callkit_incoming/issues
Expand Down

0 comments on commit 0390371

Please sign in to comment.