summaryrefslogtreecommitdiff
path: root/java/java-analysis-api/src/com/intellij/codeInspection/reference/RefJavaManager.java
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2014-09-05 20:15:08 -0700
committerTor Norbye <tnorbye@google.com>2014-09-08 11:58:21 -0700
commit145ec85b4790ed9ade912d24754b38588998dee1 (patch)
tree525f975af50498b0319435e03bf52d55c9a0a1c3 /java/java-analysis-api/src/com/intellij/codeInspection/reference/RefJavaManager.java
parent2250e7e055295bee73366d360d15ea0270573ef6 (diff)
downloadidea-145ec85b4790ed9ade912d24754b38588998dee1.tar.gz
Don't suggest making activities/fragments private
If you run Analyze > Inspect Code... on a default Android project, you'll end up with suggestions that you should make your various activities and services package protected (since they may not be referenced from other code in the project). However, you can't do that - at runtime the various inflaters will throw exceptions if you do. This CL adds knowledge to the class analyzer in IntelliJ such that it's aware of the Android context classes and does not suggest reducing visibility of these. Change-Id: Ib5e7004dba8b66b6541be87f121195453568822a Conflicts: java/java-impl/src/com/intellij/codeInspection/reference/RefJavaManagerImpl.java
Diffstat (limited to 'java/java-analysis-api/src/com/intellij/codeInspection/reference/RefJavaManager.java')
-rw-r--r--java/java-analysis-api/src/com/intellij/codeInspection/reference/RefJavaManager.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/java/java-analysis-api/src/com/intellij/codeInspection/reference/RefJavaManager.java b/java/java-analysis-api/src/com/intellij/codeInspection/reference/RefJavaManager.java
index 51ea666f59fa..9ce3a61b5222 100644
--- a/java/java-analysis-api/src/com/intellij/codeInspection/reference/RefJavaManager.java
+++ b/java/java-analysis-api/src/com/intellij/codeInspection/reference/RefJavaManager.java
@@ -71,6 +71,19 @@ public abstract class RefJavaManager implements RefManagerExtension<RefJavaManag
public abstract PsiClass getServlet();
+ // Android Framework APIs that apps extend and where the subclasses must be public
+ // such that the framework can instantiate them
+
+ public abstract PsiClass getAndroidView();
+ public abstract PsiClass getAndroidActivity();
+ public abstract PsiClass getAndroidService();
+ public abstract PsiClass getAndroidBackupAgent();
+ public abstract PsiClass getAndroidContentProvider();
+ public abstract PsiClass getAndroidReceiver();
+ public abstract PsiClass getAndroidFragment(boolean support);
+ public abstract PsiClass getAndroidActionProvider();
+ public abstract PsiClass getAndroidParcelable();
+
public abstract EntryPointsManager getEntryPointsManager();
@NotNull