diff options
author | Michael Wright <michaelwr@google.com> | 2012-06-19 16:42:04 -0700 |
---|---|---|
committer | android code review <noreply-gerritcodereview@google.com> | 2012-06-19 16:42:05 -0700 |
commit | a2cf071d2cc8e65f2c66108584a975b68bc4ac84 (patch) | |
tree | 37696836580429a3e46aa9159dd9f3f4ca058c67 /sdkmanager/libs/sdklib/src | |
parent | e1e644ecbb06954c8fe678a948091dd293ae09bf (diff) | |
parent | 3e9c78b05ade34afee5ca373fd0ac512ac33aefb (diff) | |
download | sdk-a2cf071d2cc8e65f2c66108584a975b68bc4ac84.zip sdk-a2cf071d2cc8e65f2c66108584a975b68bc4ac84.tar.gz sdk-a2cf071d2cc8e65f2c66108584a975b68bc4ac84.tar.bz2 |
Merge "Fixed resource leak in DeviceManager"
Diffstat (limited to 'sdkmanager/libs/sdklib/src')
-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 3b2d1db..acf9af3 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; } } |