package com.android.tests.shrink;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.LOCAL_VARIABLE;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.PARAMETER;
import static java.lang.annotation.ElementType.TYPE;
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.Menu;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
public class RootActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.used1);
ResourceReferences.referenceResources(this);
System.out.println(R.layout.used7);
AnnotationInflation.createView(this, ScreenType1.class, null);
AnnotationInflation.createView(this, ScreenType2.class, null);
for (int id : layout_ids) {
System.out.println(id);
}
dynamicResourceNames(1);
}
public void dynamicResourceNames(int version) {
// Normal string concatenation:
String versionNumber = String.valueOf(version);
int res = getResources().getIdentifier("prefix_used_" + version, "layout",
getPackageName());
System.out.println(res);
String name = String.format("prefix_used_%1d", version + 1);
res = getResources().getIdentifier(name, "layout", getPackageName());
System.out.println(res);
name = String.format("prefix_%1$s_suffix", version + 2);
res = getResources().getIdentifier(name, "layout", getPackageName());
System.out.println(res);
}
public void unusedMethod() {
Drawable drawable = getResources().getDrawable(R.drawable.unused10);
System.out.println(drawable);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.used13, menu);
return true;
}
@Layout(R.layout.used17)
@Retention(RetentionPolicy.RUNTIME)
@Target({METHOD, PARAMETER, TYPE, LOCAL_VARIABLE, FIELD})
public @interface Indirect {
int[] value();
}
@Layout(R.layout.used16)
private static class ScreenType1 {
}
@Indirect(5)
@Layouts({R.layout.used18,R.layout.used19})
private static class ScreenType2 {
}
private static final int[] layout_ids = { R.layout.used20 };
}