[SettingsProvider] do not close MemoryIntArray if in system server
When a DeviceConfig instantce is created in the system server process, when its cache gets evicted, it can close the MemoryIntArrays kept in the SettingsProvider in the system server. BUG: 282206516 Test: presubmit Change-Id: I8df55412aaae12c959ef7222d62602235c060b92
This commit is contained in:
@@ -3036,7 +3036,9 @@ public final class Settings {
|
||||
|
||||
public void destroy() {
|
||||
try {
|
||||
if (!mArray.isClosed()) {
|
||||
// If this process is the system server process, mArray is the same object as
|
||||
// the memory int array kept inside SettingsProvider, so skipping the close()
|
||||
if (!Settings.isInSystemServer() && !mArray.isClosed()) {
|
||||
mArray.close();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
|
||||
Reference in New Issue
Block a user