call_mode

Creator: coderz1093

Last updated:

0 purchases

call_mode Image
call_mode Images

Languages

Categories

Add to Cart

Description:

call mode

call_mode #
A plugin for getting and listening to a current call mode
Basic information #
There are currently implemented only following call modes:



inProgress
ringing
none




A call is currently active
Incoming call ringing
No active or ringing calls



Getting Started #


Add the plugin to your dependencies in pubspec.yaml
dependencies:
call_mode: ^0.1.0
copied to clipboard


Run the following command to get the package:
flutter pub get
copied to clipboard


Import plugin to your dart file
import 'package:call_mode/call_mode.dart';
copied to clipboard


Usage #
Getting current call mode #
You can get current call mode using CallModePlugin.instance.getCallMode() method.
Listening to call mode changes #
There are 2 ways to listen to call mode changes


Using CallModePlugin


Add listener
void someFunction() {
CallModePlugin.instance.addListener(_callModeListener);
}

void _callModeListener(CallMode mode) {
// TODO: your logic
}
copied to clipboard


Remove listener when you're done
void dispose() {
CallModePlugin.instance.removeListener(_callModeListener);
}
copied to clipboard




Using CallModeListener or CallModeBuilder widgets


CallModeListener
void _callModeListener(BuildContext context, CallMode mode) {
// TODO: your logic
}

@override
Widget build() {
return CallModeListener(
listener: _callModeListener,
child: YourWidget(),
);
}
copied to clipboard


CallModeBuilder
@override
Widget build() {
return CallModeBuilder(
builder: (context, callMode) {
// TODO: your widgets
},
);
}
copied to clipboard




Additional methods #
You can configure how often will an underlying system be checking for a call state.
Use CallModePlugin.instance.setListenerInterval(Duration duration) method.
!!! WARNING !!!
This method will affect ALL listeners in your app, including ones that are used inside
CallModeBuilder's and CallModeListener's. It is because there is only one state watcher
on platform side.
Platform implementations #




Android
iOS




inProgress
AudioManager.MODE_IN_CALL or AudioManager.MODE_IN_COMMUNICATION
Any CXCall has hasEnded == false and hasConnected == true


ringing
AudioManager.MODE_RINGTONE
Any CXCall has hasEnded == false and hasConnected == false


none
Any other AudioManager mode
No CXCall's or all CXCall's have hasEnded == true

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.