What does this 4 line java code means in android application?

android, android-emulator, android-windowmanager, java

Solution

@Override
public void onAttachedToWindow()
  {
  this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
  super.onAttachedToWindow();
  }

is used to disable home button in android but

this security flaw has been fixed in newer versions of Android so it will not work in ICS and jelly bean...!!

Problem

In my java application i have this code ``` @Override public void onAttachedToWindow() { this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG); super.onAttachedToWindow(); } ``` when i build it for android 2.3 (level 10) it compiles and works fine. But when i build it for android 4.0 (level 15) it compiles and gives me crash at run time and following error ``` 07-16 14:00:03.090: E/AndroidRuntime(29487): FATAL EXCEPTION: main 07-16 14:00:03.090: E/AndroidRuntime(29487): java.lang.IllegalArgumentException: Window type can not be changed after the window is added. ``` when i comment this line and build it works fine and no issue.. ``` //this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG); ``` so i am not getting why this happning and whats this code means? Edit : some reference are here when I run app on my phone.The version is android 4.0.3 toddler safe app on android

Original source

Related problems