Merge "Enable excluded-input-devices settings for vendor"

This commit is contained in:
Treehugger Robot
2018-09-24 05:43:27 +00:00
committed by Gerrit Code Review

View File

@@ -1879,30 +1879,36 @@ public class InputManagerService extends IInputManager.Stub
// Read partner-provided list of excluded input devices // Read partner-provided list of excluded input devices
XmlPullParser parser = null; XmlPullParser parser = null;
// Environment.getRootDirectory() is a fancy way of saying ANDROID_ROOT or "/system". // Environment.getRootDirectory() is a fancy way of saying ANDROID_ROOT or "/system".
File confFile = new File(Environment.getRootDirectory(), EXCLUDED_DEVICES_PATH); final File[] baseDirs = {
FileReader confreader = null; Environment.getRootDirectory(),
try { Environment.getVendorDirectory()
confreader = new FileReader(confFile); };
parser = Xml.newPullParser(); for (File baseDir: baseDirs) {
parser.setInput(confreader); File confFile = new File(baseDir, EXCLUDED_DEVICES_PATH);
XmlUtils.beginDocument(parser, "devices"); FileReader confreader = null;
try {
confreader = new FileReader(confFile);
parser = Xml.newPullParser();
parser.setInput(confreader);
XmlUtils.beginDocument(parser, "devices");
while (true) { while (true) {
XmlUtils.nextElement(parser); XmlUtils.nextElement(parser);
if (!"device".equals(parser.getName())) { if (!"device".equals(parser.getName())) {
break; break;
} }
String name = parser.getAttributeValue(null, "name"); String name = parser.getAttributeValue(null, "name");
if (name != null) { if (name != null) {
names.add(name); names.add(name);
}
} }
} catch (FileNotFoundException e) {
// It's ok if the file does not exist.
} catch (Exception e) {
Slog.e(TAG, "Exception while parsing '" + confFile.getAbsolutePath() + "'", e);
} finally {
try { if (confreader != null) confreader.close(); } catch (IOException e) { }
} }
} catch (FileNotFoundException e) {
// It's ok if the file does not exist.
} catch (Exception e) {
Slog.e(TAG, "Exception while parsing '" + confFile.getAbsolutePath() + "'", e);
} finally {
try { if (confreader != null) confreader.close(); } catch (IOException e) { }
} }
return names.toArray(new String[names.size()]); return names.toArray(new String[names.size()]);