mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
upgrade android libraries
This commit is contained in:
@@ -3,6 +3,7 @@ package org.jetbrains.android.util;
|
||||
import com.android.io.IAbstractFile;
|
||||
import com.android.io.IAbstractFolder;
|
||||
import com.android.io.StreamException;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -26,7 +27,7 @@ public class BufferingFileWrapper implements IAbstractFile {
|
||||
return new ByteArrayInputStream(content);
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new StreamException(e);
|
||||
throw new StreamException(e, this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,4 +90,19 @@ public class BufferingFileWrapper implements IAbstractFile {
|
||||
public boolean delete() {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
|
||||
BufferingFileWrapper wrapper = (BufferingFileWrapper)o;
|
||||
|
||||
return FileUtil.filesEqual(myFile, wrapper.myFile);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return FileUtil.fileHashCode(myFile);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.android.io.FolderWrapper;
|
||||
import com.android.io.IAbstractFile;
|
||||
import com.android.io.IAbstractFolder;
|
||||
import com.android.io.IAbstractResource;
|
||||
import com.intellij.openapi.util.io.FileUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -86,4 +87,19 @@ public class BufferingFolderWrapper implements IAbstractFolder {
|
||||
public boolean delete() {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
|
||||
BufferingFolderWrapper wrapper = (BufferingFolderWrapper)o;
|
||||
|
||||
return FileUtil.filesEqual(myFile, wrapper.myFile);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return FileUtil.fileHashCode(myFile);
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -6,6 +6,7 @@ import com.android.ide.common.resources.ResourceItem;
|
||||
import com.android.ide.common.resources.ResourceRepository;
|
||||
import com.android.resources.ResourceType;
|
||||
import com.android.util.Pair;
|
||||
import com.intellij.util.containers.HashMap;
|
||||
import gnu.trove.TIntObjectHashMap;
|
||||
import gnu.trove.TObjectIntHashMap;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -120,42 +121,39 @@ public class ProjectResources extends ResourceRepository {
|
||||
return;
|
||||
}
|
||||
|
||||
List<ResourceItem> resources = mResourceMap.get(ResourceType.ID);
|
||||
Map<String, ResourceItem> resources = mResourceMap.get(ResourceType.ID);
|
||||
final TObjectIntHashMap<String> name2id = myResourceValueMap.get(ResourceType.ID);
|
||||
|
||||
if (name2id != null) {
|
||||
final TObjectIntHashMap<String> copy;
|
||||
|
||||
if (resources == null) {
|
||||
resources = new ArrayList<ResourceItem>(name2id.size());
|
||||
resources = new HashMap<String, ResourceItem>(name2id.size());
|
||||
mResourceMap.put(ResourceType.ID, resources);
|
||||
copy = name2id;
|
||||
}
|
||||
else {
|
||||
copy = new TObjectIntHashMap<String>(name2id);
|
||||
|
||||
int i = 0;
|
||||
while (i < resources.size()) {
|
||||
ResourceItem item = resources.get(i);
|
||||
final List<ResourceItem> resList = new ArrayList<ResourceItem>(resources.values());
|
||||
for (ResourceItem item : resList) {
|
||||
String name = item.getName();
|
||||
if (item.isDeclaredInline()) {
|
||||
if (copy.contains(name)) {
|
||||
copy.remove(name);
|
||||
i++;
|
||||
}
|
||||
else {
|
||||
resources.remove(i);
|
||||
resources.remove(item.getName());
|
||||
}
|
||||
}
|
||||
else {
|
||||
copy.remove(name);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (Object name : copy.keys()) {
|
||||
resources.add(new InlineResourceItem((String)name));
|
||||
resources.put((String)name, new InlineResourceItem((String)name));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user