Android Studio Beta (0.8) has a nifty new feature where it checks that some int
parameters are not arbitrary integers, but rather have some properties.
For example, calling something like:
setContentView(R.id.textView1);
will correctly report that R.id.textView1
is not a layout id (the message is "expected resource of type layout"). There are other cases of this peppered around.
Understandably, this protection is lost as soon as you add your own methods into the mix, e.g.
private void mySetContentView(int resourceId) {
setContentView(resourceId);
}
I can then call mySetContentView()
with any arbitrary integer and it will not complain.
So, I have two (related) questions:
- How is this achieved -- are the special checks "baked" into lint?
- Is there any way to annotate the
mySetContentView()
method so that it will also report a resource type error when calling it with an invalid value?