1 package js.kbars; 2 3 import android.app.Activity; 4 import android.content.Context; 5 import android.util.Log; 6 import android.view.View; 7 import android.view.View.OnClickListener; 8 import android.view.Window; 9 import android.widget.Button; 10 11 public final class TransparencyToggleButton extends Button { 12 private final String mDescription; 13 private boolean mTransparent; 14 private final int mWmFlag; 15 16 public TransparencyToggleButton(Context context, String description, int wmFlag) { 17 super(context); 18 this.mDescription = description; 19 this.mWmFlag = wmFlag; 20 setOnClickListener(new OnClickListener() { 21 public void onClick(View v) { 22 TransparencyToggleButton.this.toggle("clicked"); 23 } 24 }); 25 update(); 26 } 27 28 private void toggle(String reason) { 29 Log.d(KBarsActivity.TAG, "toggle reason=" + reason); 30 this.mTransparent = !this.mTransparent; 31 update(); 32 } 33 34 private void update() { 35 setText("Make " + this.mDescription + " " + (this.mTransparent ? "opaque" : "transparent")); 36 Window w = ((Activity) getContext()).getWindow(); 37 if (this.mTransparent) { 38 w.addFlags(this.mWmFlag); 39 } else { 40 w.clearFlags(this.mWmFlag); 41 } 42 } 43 } 44