'Perform a long click action on the object.
Usage:
d(text="Image").long_click()  # long click on the center of the ui object
d(text="Image").long_click.topleft()  # long click on the topleft of the ui object
d(text="Image").long_click.bottomright()  # long click on the topleft of the ui object'

@property
def long_click(self):

    @param_to_property(corner=['tl', 'topleft', 'br', 'bottomright'])
    def _long_click(corner=None):
        info = self.info
        if info['longClickable']:
            if corner:
                return self.jsonrpc.longClick(self.selector, corner)
            else:
                return self.jsonrpc.longClick(self.selector)
        else:
            bounds = (info.get('visibleBounds') or info.get('bounds'))
            if (corner in ['tl', 'topleft']):
                x = (((5 * bounds['left']) + bounds['right']) / 6)
                y = (((5 * bounds['top']) + bounds['bottom']) / 6)
            elif (corner in ['br', 'bottomright']):
                x = ((bounds['left'] + (5 * bounds['right'])) / 6)
                y = ((bounds['top'] + (5 * bounds['bottom'])) / 6)
            else:
                x = ((bounds['left'] + bounds['right']) / 2)
                y = ((bounds['top'] + bounds['bottom']) / 2)
            return self.device.long_click(x, y)
    return _long_click
