Home | History | Annotate | Download | only in kbars
      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