Sha256: c0e96f847dc2dd7c386bb4d1d1c811dc2754c8273e3aaa81fae61e0ea904c5a2

Contents?: true

Size: 1.22 KB

Versions: 14

Compression:

Stored size: 1.22 KB

Contents

require 'di'
require 'ADB'

require 'stf/client'
require 'stf/log/log'
require 'stf/errors'

module Stf
  class StopDebugSessionInteractor
    include Log
    include ADB

    def execute(remote_connect_url)
      remote_devices = DI[:stf].get_user_devices
      device = remote_devices.find {|d| d.remoteConnect == true && d.remoteConnectUrl.eql?(remote_connect_url)}

      # try to disconnect anyway
      execute_adb_with 30, "disconnect #{remote_connect_url}"

      if device.nil?
        logger.error "Device #{remote_connect_url} is not available"
        return false
      end

      success = false

      1..10.times do
        begin
          success = DI[:stf].stop_debug(device.serial)
          break if success
        rescue
        end

        logger.error 'Can\'t stop debug session. Retrying'
      end

      1..10.times do
        begin
          success = DI[:stf].remove_device(device.serial)
          break if success
        rescue
        end
        logger.error 'Can\'t remove device from user devices. Retrying'
      end

      if success
        logger.info "Successfully removed #{remote_connect_url}"
      else
        logger.error "Error removing #{remote_connect_url}"
      end

      success
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
stf-client-0.3.0.rc8 lib/stf/interactor/stop_debug_session_interactor.rb
stf-client-0.3.0.rc7 lib/stf/interactor/stop_debug_session_interactor.rb
stf-client-0.3.0.rc6 lib/stf/interactor/stop_debug_session_interactor.rb
stf-client-0.3.0.rc5 lib/stf/interactor/stop_debug_session_interactor.rb
stf-client-0.3.0.rc4 lib/stf/interactor/stop_debug_session_interactor.rb
stf-client-0.3.0.rc3 lib/stf/interactor/stop_debug_session_interactor.rb
stf-client-0.3.0.rc2 lib/stf/interactor/stop_debug_session_interactor.rb
stf-client-0.2.6 lib/stf/interactor/stop_debug_session_interactor.rb
stf-client-0.2.5 lib/stf/interactor/stop_debug_session_interactor.rb
stf-client-0.2.4 lib/stf/interactor/stop_debug_session_interactor.rb
stf-client-0.2.3 lib/stf/interactor/stop_debug_session_interactor.rb
stf-client-0.2.2 lib/stf/interactor/stop_debug_session_interactor.rb
stf-client-0.2.1 lib/stf/interactor/stop_debug_session_interactor.rb
stf-client-0.2.0 lib/stf/interactor/stop_debug_session_interactor.rb