1 package js.kbars; 2 3 import android.content.Context; 4 import android.os.Handler; 5 import android.service.dreams.DreamService; 6 import android.util.Log; 7 import android.view.View; 8 import android.view.View.OnSystemUiVisibilityChangeListener; 9 10 public class KBarsDream extends DreamService { 11 private static final String TAG = Util.logTag(KBarsDream.class); 12 private final Context mContext = this; 13 private final Handler mHandler = new Handler(); 14 private View mView; 15 16 public void onCreate() { 17 super.onCreate(); 18 setInteractive(true); 19 } 20 21 public void onAttachedToWindow() { 22 super.onAttachedToWindow(); 23 this.mView = new View(this.mContext); 24 getWindow().addFlags(1024); 25 setFullscreen(); 26 this.mView.setOnSystemUiVisibilityChangeListener(new OnSystemUiVisibilityChangeListener() { 27 public void onSystemUiVisibilityChange(int visibility) { 28 Log.d(KBarsDream.TAG, "onSystemUiVisibilityChange " + Integer.toHexString(visibility)); 29 KBarsDream.this.setFullscreen(); 30 } 31 }); 32 this.mView.setBackgroundColor(-16776961); 33 setContentView(this.mView); 34 } 35 36 public void onWindowFocusChanged(boolean hasFocus) { 37 Log.d(TAG, "onWindowFocusChanged " + hasFocus); 38 super.onWindowFocusChanged(hasFocus); 39 if (hasFocus) { 40 setFullscreen(); 41 } 42 } 43 44 private void setFullscreen() { 45 this.mView.setSystemUiVisibility(5382); 46 } 47 } 48