• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
TransparencyToggleButton(Context context, String description, int wmFlag)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 
toggle(String reason)28     private void toggle(String reason) {
29         Log.d(KBarsActivity.TAG, "toggle reason=" + reason);
30         this.mTransparent = !this.mTransparent;
31         update();
32     }
33 
update()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