Android-ElectricSheep-Automator

 view release on metacpan or  search on metacpan

lib/Android/ElectricSheep/Automator/Plugins/Base.pm  view on Meta::CPAN

to it. There is already one plugin provided L<Android::ElectricSheep::Automator::Plugins::Viber>
which can serve as an example for creating new plugins.
It is as simple as this:

    package Android::ElectricSheep::Automator::Plugins::MyNewPlugin;

    use parent 'Android::ElectricSheep::Automator::Plugins::Base';

    sub new {
            my ($class, $params) = @_;  
            my $self = $class->SUPER::new({
                    %$params,
                    'child-class' => $class,
            });
            # add some extra internal fields, e.g. the name of the app
            # we are dealing with
            $self->{'_private'}->{'appname'} = 'com.viber.voip';
    
            return $self;
    }
    # new methods

lib/Android/ElectricSheep/Automator/Plugins/Viber.pm  view on Meta::CPAN


use parent 'Android::ElectricSheep::Automator::Plugins::Base';

use Time::HiRes qw/usleep/;
use Data::Roundtrip qw/perl2dump no-unicode-escape-permanently/;

use Android::ElectricSheep::Automator::XMLParsers;

sub new {
	my ($class, $params) = @_;
	my $self = $class->SUPER::new({
		%$params,
		'child-class' => $class,
	});
	$self->{'_private'}->{'appname'} = 'com.viber.voip';

	return $self;
}
sub appname { return $_[0]->{'_private'}->{'appname'} }
sub open_viber_app {
	my ($self, $params) = @_;

t/MY/TestPlugin.pm  view on Meta::CPAN

package MY::TestPlugin;

use lib ($FindBin::Bin, 'blib/lib');

use parent 'Android::ElectricSheep::Automator::Plugins::Base';

use Data::Roundtrip qw/perl2dump no-unicode-escape-permanently/;

sub new {
	my ($class, $params) = @_;
	my $self = $class->SUPER::new({
		%$params,
		'child-class' => $class,
	});
	return $self;
}

sub test_call {
	my ($self, $params) = @_;

	return 0; # success



( run in 1.255 second using v1.01-cache-2.11-cpan-49f99fa48dc )