Java: Need some way to shorten this code
I have this piece of code that I would like to shorten...
PackageManager p = context.getPackageManager();
final List<PackageInfo> appinstall = p.getInstalledPackages(PackageManager.GET_PERMISSIONS);
PackageManager pro = context.getPackageManager();
final List<PackageInfo> apllprovides = pro.getInstalledPackages(PackageManager.GET_PROVIDERS);
I am seriously irritated to do this again and again to add new flag permissions, and I need to do it a couple of times, is there a shorter method in which I could put all the flags on the same definition...???
Let me put it this way, can I do this...??? (of course this gives an error, but something similar..)
PackageManager p = context.getPackageManager();
final List<PackageInfo> appinstall = p.getInstalledPackages(PackageManager.GET_PERMISSIONS).addFlag(PackageManager.GET_PROVIDERS);
Solution 1:
If it's the same syntax as C# and the flags are set properly, you could do this:
PackageManager p = context.getPackageManager();
final List<PackageInfo> appinstall =
p.getInstalledPackages(PackageManager.GET_PERMISSIONS |
PackageManager.GET_PROVIDERS)
Solution 2:
public void usegetPackageInfo(){
//
final ListView lw = (ListView) findViewById(R.id.listView1);
PackageManager p = lw.getContext().getPackageManager();
final List<PackageInfo> appinstall =
p.getInstalledPackages(PackageManager.GET_PERMISSIONS |
PackageManager.GET_PROVIDERS);
final TextView tw = (TextView) findViewById(R.id.textView1);
Iterator it = appinstall.iterator();
while (it.hasNext()) {
PackageInfo rf = (PackageInfo) it.next();
tw.append(rf.toString());
}
}