Merge "Enable excluded-input-devices settings for vendor"
This commit is contained in:
@@ -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()]);
|
||||||
|
|||||||
Reference in New Issue
Block a user