Revision 9523ae28
Added by Leszek Koltunski over 2 years ago
src/main/java/org/distorted/helpers/LockController.java | ||
---|---|---|
22 | 22 |
import java.util.Timer; |
23 | 23 |
import java.util.TimerTask; |
24 | 24 |
|
25 |
import android.app.Activity; |
|
25 | 26 |
import android.view.View; |
26 | 27 |
import android.widget.ImageButton; |
27 | 28 |
import android.widget.LinearLayout; |
... | ... | |
29 | 30 |
import org.distorted.main.R; |
30 | 31 |
import org.distorted.main.RubikActivity; |
31 | 32 |
import org.distorted.objectlib.helpers.TwistyActivity; |
33 |
import org.distorted.objectlib.main.ObjectControl; |
|
32 | 34 |
|
33 | 35 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
34 | 36 |
|
... | ... | |
52 | 54 |
|
53 | 55 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
54 | 56 |
|
55 |
public void toggleLock(TwistyActivity act)
|
|
57 |
public void toggleLock(ObjectControl control)
|
|
56 | 58 |
{ |
57 |
act.toggleLock(); |
|
58 |
mLockButton.setImageResource(getLockIcon(act,false)); |
|
59 |
control.toggleLock(); |
|
60 |
boolean locked = control.retLocked(); |
|
61 |
mLockButton.setImageResource(getLockIcon(locked,false)); |
|
59 | 62 |
} |
60 | 63 |
|
61 | 64 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
62 | 65 |
|
63 |
private int getLockIcon(TwistyActivity act, boolean red)
|
|
66 |
private int getLockIcon(boolean locked, boolean red)
|
|
64 | 67 |
{ |
65 |
if( act.retLocked() )
|
|
68 |
if( locked )
|
|
66 | 69 |
{ |
67 | 70 |
if( red ) |
68 | 71 |
{ |
... | ... | |
90 | 93 |
|
91 | 94 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
92 | 95 |
|
93 |
private void changeIcon(TwistyActivity act, final boolean red)
|
|
96 |
private void changeIcon(Activity act, boolean locked, boolean red)
|
|
94 | 97 |
{ |
95 | 98 |
act.runOnUiThread(new Runnable() |
96 | 99 |
{ |
... | ... | |
98 | 101 |
public void run() |
99 | 102 |
{ |
100 | 103 |
if( mLockButton!=null ) |
101 |
mLockButton.setImageResource(getLockIcon(act,red));
|
|
104 |
mLockButton.setImageResource(getLockIcon(locked,red));
|
|
102 | 105 |
} |
103 | 106 |
}); |
104 | 107 |
} |
105 | 108 |
|
106 | 109 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
107 | 110 |
|
108 |
public void reddenLock(final TwistyActivity act)
|
|
111 |
public void reddenLock(final Activity act, ObjectControl control)
|
|
109 | 112 |
{ |
110 | 113 |
mLockTime = System.currentTimeMillis(); |
111 | 114 |
|
112 | 115 |
if( !mTimerRunning ) |
113 | 116 |
{ |
114 |
changeIcon(act,true); |
|
117 |
boolean locked = control.retLocked(); |
|
118 |
changeIcon(act,locked,true); |
|
115 | 119 |
|
116 | 120 |
mTimerRunning = true; |
117 | 121 |
mTimer = new Timer(); |
... | ... | |
128 | 132 |
{ |
129 | 133 |
if( System.currentTimeMillis()-mLockTime > LOCK_TIME ) |
130 | 134 |
{ |
131 |
changeIcon(act,false); |
|
135 |
boolean locked = control.retLocked(); |
|
136 |
changeIcon(act,locked,false); |
|
132 | 137 |
|
133 | 138 |
if( mTimer!=null ) |
134 | 139 |
{ |
... | ... | |
147 | 152 |
|
148 | 153 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
149 | 154 |
|
150 |
public void setupButton(final TwistyActivity act, final float width) |
|
155 |
public void setupButton(final TwistyActivity act, ObjectControl control, final float width)
|
|
151 | 156 |
{ |
152 |
final int icon = getLockIcon(act,false); |
|
157 |
boolean locked = control.retLocked(); |
|
158 |
final int icon = getLockIcon(locked,false); |
|
153 | 159 |
mLockButton = new TransparentImageButton(act, icon, width,LinearLayout.LayoutParams.MATCH_PARENT); |
154 | 160 |
|
155 | 161 |
mLockButton.setOnClickListener( new View.OnClickListener() |
... | ... | |
157 | 163 |
@Override |
158 | 164 |
public void onClick(View v) |
159 | 165 |
{ |
160 |
toggleLock(act);
|
|
166 |
toggleLock(control);
|
|
161 | 167 |
} |
162 | 168 |
}); |
163 | 169 |
} |
164 | 170 |
|
165 | 171 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
166 | 172 |
|
167 |
public void setState(final TwistyActivity act)
|
|
173 |
public void setState(final Activity act, boolean locked)
|
|
168 | 174 |
{ |
169 | 175 |
act.runOnUiThread(new Runnable() |
170 | 176 |
{ |
... | ... | |
172 | 178 |
public void run() |
173 | 179 |
{ |
174 | 180 |
if( mLockButton!=null ) |
175 |
mLockButton.setImageResource(getLockIcon(act,false));
|
|
181 |
mLockButton.setImageResource(getLockIcon(locked,false));
|
|
176 | 182 |
} |
177 | 183 |
}); |
178 | 184 |
} |
Also available in: Unified diff
Hide most of the TwistyActivity methods inside objectlib.