| package org.jetbrains.android.augment; |
| |
| import com.intellij.openapi.util.Pair; |
| import com.intellij.psi.PsiClass; |
| import org.jetbrains.android.dom.manifest.Manifest; |
| import org.jetbrains.android.dom.manifest.PermissionGroup; |
| import org.jetbrains.android.facet.AndroidFacet; |
| import org.jetbrains.android.util.AndroidResourceUtil; |
| import org.jetbrains.annotations.NotNull; |
| |
| import java.util.ArrayList; |
| import java.util.List; |
| |
| /** |
| * @author Eugene.Kudelevsky |
| */ |
| class PermissionGroupClass extends ManifestInnerClass { |
| PermissionGroupClass(@NotNull AndroidFacet facet, @NotNull PsiClass context) { |
| super(facet, "permission_group", context); |
| } |
| |
| @NotNull |
| @Override |
| protected List<Pair<String, String>> doGetFields(@NotNull Manifest manifest) { |
| final List<Pair<String, String>> result = new ArrayList<Pair<String, String>>(); |
| |
| for (PermissionGroup permissionGroup : manifest.getPermissionGroups()) { |
| final String name = permissionGroup.getName().getValue(); |
| |
| if (name != null && name.length() > 0) { |
| final int lastDotIndex = name.lastIndexOf('.'); |
| final String lastId = name.substring(lastDotIndex + 1); |
| |
| if (lastId.length() > 0) { |
| result.add(Pair.create(AndroidResourceUtil.getFieldNameByResourceName(lastId), name)); |
| } |
| } |
| } |
| return result; |
| } |
| } |