diff options
author | Michael Wright <michaelwr@google.com> | 2012-06-19 15:10:26 -0700 |
---|---|---|
committer | Michael Wright <michaelwr@google.com> | 2012-06-19 15:10:26 -0700 |
commit | 3e9c78b05ade34afee5ca373fd0ac512ac33aefb (patch) | |
tree | 6bfaba2934af296a29d7c9d6ddf2aad312f0ab9b /sdkmanager | |
parent | 148770ee4084816736e68b21ded90f4734b4eaa8 (diff) | |
download | sdk-3e9c78b05ade34afee5ca373fd0ac512ac33aefb.zip sdk-3e9c78b05ade34afee5ca373fd0ac512ac33aefb.tar.gz sdk-3e9c78b05ade34afee5ca373fd0ac512ac33aefb.tar.bz2 |
Fixed resource leak in DeviceManager
Change-Id: I5eed8a5de878bd3c52452536baca0c56822263b8
Diffstat (limited to 'sdkmanager')
-rw-r--r-- | sdkmanager/libs/sdklib/src/com/android/sdklib/devices/DeviceManager.java | 47 |
1 files changed, 25 insertions, 22 deletions
diff --git a/sdkmanager/libs/sdklib/src/com/android/sdklib/devices/DeviceManager.java b/sdkmanager/libs/sdklib/src/com/android/sdklib/devices/DeviceManager.java index 7825215..e3985bd 100644 --- a/sdkmanager/libs/sdklib/src/com/android/sdklib/devices/DeviceManager.java +++ b/sdkmanager/libs/sdklib/src/com/android/sdklib/devices/DeviceManager.java @@ -16,10 +16,25 @@ package com.android.sdklib.devices; +import com.android.prefs.AndroidLocation; +import com.android.prefs.AndroidLocation.AndroidLocationException; +import com.android.resources.Keyboard; +import com.android.resources.KeyboardState; +import com.android.resources.Navigation; +import com.android.sdklib.ISdkLog; +import com.android.sdklib.SdkConstants; +import com.android.sdklib.devices.Storage.Unit; +import com.android.sdklib.internal.avd.AvdManager; +import com.android.sdklib.internal.avd.HardwareProperties; +import com.android.sdklib.repository.PkgProps; + +import org.xml.sax.SAXException; + import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; +import java.io.Reader; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; @@ -31,20 +46,6 @@ import java.util.regex.Pattern; import javax.xml.parsers.ParserConfigurationException; -import org.xml.sax.SAXException; - -import com.android.prefs.AndroidLocation; -import com.android.prefs.AndroidLocation.AndroidLocationException; -import com.android.resources.Keyboard; -import com.android.resources.KeyboardState; -import com.android.resources.Navigation; -import com.android.sdklib.ISdkLog; -import com.android.sdklib.SdkConstants; -import com.android.sdklib.devices.Storage.Unit; -import com.android.sdklib.internal.avd.AvdManager; -import com.android.sdklib.internal.avd.HardwareProperties; -import com.android.sdklib.repository.PkgProps; - /** * Manager class for interacting with {@link Device}s within the SDK */ @@ -217,16 +218,18 @@ public class DeviceManager { File properties = new File(item, SdkConstants.FN_SOURCE_PROP); try { BufferedReader propertiesReader = new BufferedReader(new FileReader(properties)); - String line; - while ((line = propertiesReader.readLine()) != null) { - Matcher m = sPathPropertyPattern.matcher(line); - if (m.matches()) { - return true; + try { + String line; + while ((line = propertiesReader.readLine()) != null) { + Matcher m = sPathPropertyPattern.matcher(line); + if (m.matches()) { + return true; + } } + } finally { + propertiesReader.close(); } - } catch (IOException e) { - return false; - } + } catch (IOException ignore) { } return false; } } |