Revision 7205c655
Added by Leszek Koltunski over 1 year ago
src/main/java/org/distorted/objectlib/helpers/BlockController.java | ||
---|---|---|
21 | 21 |
|
22 | 22 |
public class BlockController |
23 | 23 |
{ |
24 |
public static final int TYPE_UI = 0;
|
|
25 |
public static final int TYPE_TOUCH = 1;
|
|
26 |
public static final int TYPE_THREAD = 2; |
|
24 |
public static final int TYPE_SCRAMBLING = 0;
|
|
25 |
public static final int TYPE_ROTATION = 1;
|
|
26 |
public static final int TYPE_THREAD = 2;
|
|
27 | 27 |
|
28 | 28 |
public static final int PLACE_0 =0; |
29 | 29 |
public static final int PLACE_1 =1; |
... | ... | |
41 | 41 |
|
42 | 42 |
private static long mPauseTime, mResumeTime; |
43 | 43 |
|
44 |
private long mTouchBlockTime, mUIBlockTime;
|
|
45 |
private int mLastTouchPlace, mLastUIPlace;
|
|
44 |
private long mRotationBlockTime, mScramblingAndSolvingBlockTime;
|
|
45 |
private int mLastRotationPlace, mLastScramblingAndSolvingPlace;
|
|
46 | 46 |
|
47 | 47 |
private final ObjectPreRender mPre; |
48 | 48 |
|
... | ... | |
107 | 107 |
private void checkingThread() |
108 | 108 |
{ |
109 | 109 |
long now = System.currentTimeMillis(); |
110 |
long touchThreshhold = getThreshhold(mLastTouchPlace);
|
|
111 |
long touchBlocked = now-mTouchBlockTime;
|
|
110 |
long rotationThreshhold = getThreshhold(mLastRotationPlace);
|
|
111 |
long rotationBlocked = now- mRotationBlockTime;
|
|
112 | 112 |
|
113 |
if( mTouchBlockTime>mPauseTime && touchBlocked>touchThreshhold )
|
|
113 |
if( mRotationBlockTime >mPauseTime && rotationBlocked>rotationThreshhold )
|
|
114 | 114 |
{ |
115 | 115 |
boolean running = EffectMessageSender.isRunning(); |
116 | 116 |
ObjectLibInterface libInterface = mPre.getInterface(); |
... | ... | |
122 | 122 |
} |
123 | 123 |
else |
124 | 124 |
{ |
125 |
mPre.unblockTouch();
|
|
126 |
libInterface.reportBlockProblem(TYPE_TOUCH,mLastTouchPlace,mPauseTime,mResumeTime,mTouchBlockTime);
|
|
125 |
mPre.unblockRotation();
|
|
126 |
libInterface.reportBlockProblem(TYPE_ROTATION, mLastRotationPlace,mPauseTime,mResumeTime, mRotationBlockTime);
|
|
127 | 127 |
} |
128 | 128 |
} |
129 | 129 |
|
130 |
long uiThreshhold = getThreshhold(mLastUIPlace);
|
|
131 |
long uiBlocked = now-mUIBlockTime;
|
|
130 |
long uiThreshhold = getThreshhold(mLastScramblingAndSolvingPlace);
|
|
131 |
long scramblingAndSolvingBlocked = now- mScramblingAndSolvingBlockTime;
|
|
132 | 132 |
|
133 |
if( mUIBlockTime>mPauseTime && uiBlocked>uiThreshhold )
|
|
133 |
if( mScramblingAndSolvingBlockTime >mPauseTime && scramblingAndSolvingBlocked>uiThreshhold )
|
|
134 | 134 |
{ |
135 | 135 |
boolean running = EffectMessageSender.isRunning(); |
136 | 136 |
ObjectLibInterface libInterface = mPre.getInterface(); |
... | ... | |
142 | 142 |
} |
143 | 143 |
else |
144 | 144 |
{ |
145 |
mPre.unblockUI();
|
|
146 |
libInterface.reportBlockProblem(TYPE_UI,mLastUIPlace,mPauseTime,mResumeTime,mUIBlockTime);
|
|
145 |
mPre.unblockScramblingAndSolving();
|
|
146 |
libInterface.reportBlockProblem(TYPE_SCRAMBLING, mLastScramblingAndSolvingPlace,mPauseTime,mResumeTime, mScramblingAndSolvingBlockTime);
|
|
147 | 147 |
} |
148 | 148 |
} |
149 | 149 |
} |
150 | 150 |
|
151 | 151 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
152 | 152 |
|
153 |
public void touchBlocked(int place)
|
|
153 |
public void rotationBlocked(int place)
|
|
154 | 154 |
{ |
155 |
mTouchBlockTime = System.currentTimeMillis();
|
|
156 |
mLastTouchPlace = place;
|
|
155 |
mRotationBlockTime = System.currentTimeMillis();
|
|
156 |
mLastRotationPlace = place;
|
|
157 | 157 |
} |
158 | 158 |
|
159 | 159 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
160 | 160 |
|
161 |
public void uiBlocked(int place)
|
|
161 |
public void scramblingAndSolvingBlocked(int place)
|
|
162 | 162 |
{ |
163 |
mUIBlockTime = System.currentTimeMillis();
|
|
164 |
mLastUIPlace = place;
|
|
163 |
mScramblingAndSolvingBlockTime = System.currentTimeMillis();
|
|
164 |
mLastScramblingAndSolvingPlace = place;
|
|
165 | 165 |
} |
166 | 166 |
|
167 | 167 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
168 | 168 |
|
169 |
public void touchUnblocked()
|
|
169 |
public void rotationUnblocked()
|
|
170 | 170 |
{ |
171 |
mTouchBlockTime = 0;
|
|
171 |
mRotationBlockTime = 0;
|
|
172 | 172 |
} |
173 | 173 |
|
174 | 174 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
175 | 175 |
|
176 |
public void uiUnblocked()
|
|
176 |
public void scramblingAndSolvingUnblocked()
|
|
177 | 177 |
{ |
178 |
mUIBlockTime = 0;
|
|
178 |
mScramblingAndSolvingBlockTime = 0;
|
|
179 | 179 |
} |
180 | 180 |
} |
Also available in: Unified diff
Some improvements to blocking, mostly to the names of variables.