CameraITS: fix context manager methods

We use context manager to operate camera object so move object
init/delete logic into __enter__/__exit__.

Test: run ITS tests
Bug: 79417758
Change-Id: I0a1914b33a796d5fb7a69e6c7c13a94570a0b163
diff --git a/apps/CameraITS/pymodules/its/device.py b/apps/CameraITS/pymodules/its/device.py
index cb3f51a..1c3c2c1 100644
--- a/apps/CameraITS/pymodules/its/device.py
+++ b/apps/CameraITS/pymodules/its/device.py
@@ -216,7 +216,7 @@
                 break
         proc.kill()
 
-    def __init__(self):
+    def __enter__(self):
         # Initialize device id and adb command.
         self.device_id = get_device_id()
         self.adb = "adb -s " + self.device_id
@@ -226,16 +226,12 @@
 
         self.__close_camera()
         self.__open_camera()
-
-    def __del__(self):
-        if hasattr(self, 'sock') and self.sock:
-            self.__close_camera()
-            self.sock.close()
-
-    def __enter__(self):
         return self
 
     def __exit__(self, type, value, traceback):
+        if hasattr(self, 'sock') and self.sock:
+            self.__close_camera()
+            self.sock.close()
         return False
 
     def __read_response_from_socket(self):