|
31 | 31 | from com.dtmilano.android.common import profileEnd |
32 | 32 | from com.dtmilano.android.common import profileStart |
33 | 33 | from com.dtmilano.android.concertina import Concertina |
34 | | -from com.dtmilano.android.viewclient import ViewClient |
| 34 | +from com.dtmilano.android.viewclient import ViewClient, View |
35 | 35 |
|
36 | 36 | __version__ = '21.1.0' |
37 | 37 |
|
@@ -336,12 +336,14 @@ def takeScreenshotAndShowItOnWindow(self): |
336 | 336 | if DEBUG: |
337 | 337 | print("takeScreenshotAndShowItOnWindow()", file=sys.stderr) |
338 | 338 | if self.vc and self.vc.uiAutomatorHelper: |
339 | | - received = self.vc.uiAutomatorHelper.takeScreenshot() |
340 | | - if sys.version_info[0] < 3: |
341 | | - stream = io.StringIO(received) |
342 | | - else: |
343 | | - stream = io.BytesIO(received.data) |
344 | | - self.unscaledScreenshot = Image.open(stream) |
| 339 | + received = self.vc.uiAutomatorHelper.ui_device.take_screenshot() |
| 340 | + stream = io.BytesIO(received.read()) |
| 341 | + try: |
| 342 | + self.unscaledScreenshot = Image.open(stream) |
| 343 | + except IOError as ex: |
| 344 | + print(ex, file=sys.stderr) |
| 345 | + print(repr(stream)) |
| 346 | + sys.exit(1) |
345 | 347 | else: |
346 | 348 | self.unscaledScreenshot = self.device.takeSnapshot(reconnect=True) |
347 | 349 | self.image = self.unscaledScreenshot |
@@ -949,7 +951,7 @@ def onButton1Pressed(self, event): |
949 | 951 |
|
950 | 952 | def onCtrlButton1Pressed(self, event): |
951 | 953 | if DEBUG: |
952 | | - print("onCtrlButton1Pressed((", event.x, ", ", event.y, "))", file=sys.stderr) |
| 954 | + print(f"onCtrlButton1Pressed(({event.x}, {event.y}))", file=sys.stderr) |
953 | 955 | (scaledX, scaledY) = (event.x / self.scale, event.y / self.scale) |
954 | 956 | l = self.vc.findViewsContainingPoint((scaledX, scaledY)) |
955 | 957 | if l and len(l) > 0: |
@@ -1059,15 +1061,15 @@ def onKeyPressed(self, event): |
1059 | 1061 | # OPTION-ENTER (mac) |
1060 | 1062 | elif keysym == 'Return' and event.state == 16: |
1061 | 1063 | if DEBUG_KEY: |
1062 | | - print >> sys.stderr, "Sending DPAD_CENTER" |
| 1064 | + print("Sending DPAD_CENTER", file=sys.stderr) |
1063 | 1065 | self.command('DPAD_CENTER') |
1064 | 1066 | elif char == '\r': |
1065 | 1067 | self.command('ENTER') |
1066 | 1068 | elif char == '': |
1067 | 1069 | # do nothing |
1068 | 1070 | pass |
1069 | 1071 | else: |
1070 | | - self.command(char.decode('ascii', errors='replace')) |
| 1072 | + self.command(char) |
1071 | 1073 | # commented out (profile) |
1072 | 1074 | # time.sleep(1) |
1073 | 1075 | self.takeScreenshotAndShowItOnWindow() |
@@ -1148,7 +1150,7 @@ def saveViewSnapshot(self, view): |
1148 | 1150 |
|
1149 | 1151 | if not view: |
1150 | 1152 | raise ValueError("view must be provided to take snapshot") |
1151 | | - filename = self.snapshotDir + os.sep + '${serialno}-' + view.variableNameFromId() + '-${timestamp}' + '.' + self.snapshotFormat.lower() |
| 1153 | + filename = self.snapshotDir + os.sep + '${serialno}-' + View.variableNameFromId(view) + '-${timestamp}' + '.' + self.snapshotFormat.lower() |
1152 | 1154 | d = FileDialog(self, self.device.substituteDeviceTemplate(filename)) |
1153 | 1155 | saveAsFilename = d.askSaveAsFilename() |
1154 | 1156 | if saveAsFilename: |
@@ -1951,6 +1953,8 @@ def __init__(self, culebron): |
1951 | 1953 | self.transient(self.parent) |
1952 | 1954 | self.culebron.setDragDialogShowed(True) |
1953 | 1955 | self.title("Drag: selecting parameters") |
| 1956 | + self.__grabbing = None |
| 1957 | + self.ok = None |
1954 | 1958 |
|
1955 | 1959 | # valid percent substitutions (from the Tk entry man page) |
1956 | 1960 | # %d = Type of action (1=insert, 0=delete, -1 for others) |
|
0 commit comments