Enable excluded-input-devices settings for vendor
Currently excluded-input-devices settings file is available only on the system image. This change enables that settings with the vendor image also. Bug: 115603053 Change-Id: I575298baee8e7186d1fcf8c29db09a0f247999c3
This commit is contained in:
committed by
akihiro miura
parent
241aa86ed6
commit
ea12b55489
@@ -1879,30 +1879,36 @@ public class InputManagerService extends IInputManager.Stub
|
||||
// Read partner-provided list of excluded input devices
|
||||
XmlPullParser parser = null;
|
||||
// Environment.getRootDirectory() is a fancy way of saying ANDROID_ROOT or "/system".
|
||||
File confFile = new File(Environment.getRootDirectory(), EXCLUDED_DEVICES_PATH);
|
||||
FileReader confreader = null;
|
||||
try {
|
||||
confreader = new FileReader(confFile);
|
||||
parser = Xml.newPullParser();
|
||||
parser.setInput(confreader);
|
||||
XmlUtils.beginDocument(parser, "devices");
|
||||
final File[] baseDirs = {
|
||||
Environment.getRootDirectory(),
|
||||
Environment.getVendorDirectory()
|
||||
};
|
||||
for (File baseDir: baseDirs) {
|
||||
File confFile = new File(baseDir, EXCLUDED_DEVICES_PATH);
|
||||
FileReader confreader = null;
|
||||
try {
|
||||
confreader = new FileReader(confFile);
|
||||
parser = Xml.newPullParser();
|
||||
parser.setInput(confreader);
|
||||
XmlUtils.beginDocument(parser, "devices");
|
||||
|
||||
while (true) {
|
||||
XmlUtils.nextElement(parser);
|
||||
if (!"device".equals(parser.getName())) {
|
||||
break;
|
||||
}
|
||||
String name = parser.getAttributeValue(null, "name");
|
||||
if (name != null) {
|
||||
names.add(name);
|
||||
while (true) {
|
||||
XmlUtils.nextElement(parser);
|
||||
if (!"device".equals(parser.getName())) {
|
||||
break;
|
||||
}
|
||||
String name = parser.getAttributeValue(null, "name");
|
||||
if (name != null) {
|
||||
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()]);
|
||||
|
||||
Reference in New Issue
Block a user