diff options
author | Steve Slaven <bpk@hoopajoo.net> | 2011-01-04 20:50:46 (GMT) |
---|---|---|
committer | Steve Slaven <bpk@hoopajoo.net> | 2011-01-04 20:50:46 (GMT) |
commit | c8c2f024a5fd55cb570d744f965f23acc5744ced (patch) | |
tree | 17d0806def89c0cfe033d9c6e559fad0117c347b | |
parent | b1deb15c4b365da40f6910828492394cea07cf00 (diff) | |
download | SoftKeys-c8c2f024a5fd55cb570d744f965f23acc5744ced.zip SoftKeys-c8c2f024a5fd55cb570d744f965f23acc5744ced.tar.gz SoftKeys-c8c2f024a5fd55cb570d744f965f23acc5744ced.tar.bz2 |
Added more notes about the nook jitter
-rw-r--r-- | src/net/hoopajoo/android/SoftKeys/SoftKeysService.java | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/net/hoopajoo/android/SoftKeys/SoftKeysService.java b/src/net/hoopajoo/android/SoftKeys/SoftKeysService.java index 4c5039c..1118406 100644 --- a/src/net/hoopajoo/android/SoftKeys/SoftKeysService.java +++ b/src/net/hoopajoo/android/SoftKeys/SoftKeysService.java @@ -181,14 +181,18 @@ public class SoftKeysService extends Service { // note: input smoother has no effect on the nook, something else is // causing the jitters, I'm guessing we need to lock something when - // we update the params + // we update the params. I've done a lot of testing and even when the + // service window jumps to the wierd position the finalxy updates in the + // log are not in a weird spot. After looking through a lot of aosp code + // I can't find any place we can lock and force the update in a synchonized way + // + // the error seems to happen when you roll your finger, so it feels like + // it has something to do with the amount of surface area you have on the + // display, and changing that causes stuff to somehow "reset" the layoutparams mInputSmoother.addPoint( (int)me.getRawX(), (int)me.getRawY() ); mInputSmoother.updateOutliers(); - if( ! mPendingDragEvent ) { - mPendingDragEvent = true; - view.postDelayed( mUpdateDrag, 50 ); - } + view.post( mUpdateDrag ); return( false ); } } @@ -244,10 +248,11 @@ public class SoftKeysService extends Service { finaly = mScreenHeight + mOffScreenMax - height; } - d( "Final xy: " + finalx + "," + finaly ); + //d( "Final xy: " + finalx + "," + finaly ); l.x = finalx; l.y = finaly; + WindowManager wm = (WindowManager)getSystemService(WINDOW_SERVICE); wm.updateViewLayout( root, l ); |