Salve a tutti,
sono un nuovo arrivato in cerca di un aiuto ( o almeno solidarietà psicologica..)
Ebbene ecco il mio problema:
Mesi fa si è rotto il touch di un tablet majestic 493K 3G con Android KitKat, e così ho riacquistato il display e l'ho sostituito. Fin qui tutto bene e il sistema vede l'interfaccia MA...
purtroppo l'asse Y del touch risulta come invertito a specchio (tocco in alto a DX e lui vede un tocco in basso a DX).
Non so come risolvere e non posso giocare su un ribaltamento del touch, quindi...chiedo:
Essendo android un SO aperto, è possibile correggere via software (agendo sui file JAR o comunque sul framework o quel che è) inserendo solo una inversione dell'asse Y???
Se si da dove potrei iniziare a muovere i primi passi per questo intervento?
Ho già effettuato il logcat del touch screen rilevando gli eventi.
Riporto di seguito il caso di touch intermittente su schermata iniziale e touch prolungato su schermata principale...
codice:
D/dalvikvm( 3180): GC_CONCURRENT freed 6953K (33458), 45% free 9186K/16584K (before 16128K/16572K), paused 19ms+28ms, total 143ms
D/dalvikvm( 3180): open_cached_dex_file : /data/data/com.google.android.googlequicksearchbox/files/velour/verified_jars/JVhiRKmeR16dNpt5xfjbLag_1.jar /data/data/com.google.android.googlequicksearchbox/files/velour/dex_cache/JVhiRKmeR16dNpt5xfjbLag_1.jar/JVhiRKmeR16dNpt5xfjbLag_1.dex
D/dalvikvm( 3180): DexOpt: --- BEGIN 'JVhiRKmeR16dNpt5xfjbLag_1.jar' (bootstrap=0) ---
D/SurfaceFlinger( 143): SurfaceFlingerWatchdog:ERROR: open /dev/RT_Monitor failed.
D/dalvikvm( 3805): boot class :
D/dalvikvm( 3805): (0) core.jar
D/dalvikvm( 3805): (1) conscrypt.jar
D/dalvikvm( 3805): (2) okhttp.jar
D/dalvikvm( 3805): (3) core-junit.jar
D/dalvikvm( 3805): (4) bouncycastle.jar
D/dalvikvm( 3805): (5) ext.jar
D/dalvikvm( 3805): (6) framework.jar
D/dalvikvm( 3805): (7) framework2.jar
D/dalvikvm( 3805): (8) telephony-common.jar
D/dalvikvm( 3805): (9) voip-common.jar
D/dalvikvm( 3805): (10) mms-common.jar
D/dalvikvm( 3805): (11) android.policy.jar
D/dalvikvm( 3805): (12) services.jar
D/dalvikvm( 3805): (13) apache-xml.jar
D/dalvikvm( 3805): (14) webviewchromium.jar
D/dalvikvm( 3805): (15) mediatek-common.jar
D/dalvikvm( 3805): (16) mediatek-framework.jar
D/dalvikvm( 3805): (17) CustomProperties.jar
D/dalvikvm( 3805): (18) mediatek-telephony-common.jar
D/dalvikvm( 3805): (19) mediatek-tablet.jar
D/dalvikvm( 3805): (20) am.jar
D/dalvikvm( 3805): threadid=1: interp stack at 0x40ca9000
W/InputReader( 652): inCount:16, pointer count:0
W/InputReader( 652): outer ID:0, tracking ID:1, pointer count:16
W/InputReader( 652): inCount:16, pointer count:1
D/InputReader( 652): AP_PROF:AppLaunch_dispatchPtr:Down:10220674, ID:0, Index:1469042528
I/AP_PROF ( 652): unable to open /proc/mtprof/status entry
W/InputReader( 652): outer ID:0, tracking ID:1, pointer count:16
W/InputReader( 652): inCount:16, pointer count:1
D/PowerManagerService( 652): userActivityFromNative
D/PowerManagerService( 652): userActivityNoUpdateLocked: eventTime=10220674, event=2, flags=0x0, uid=1000
D/PowerManagerNotifier( 652): onUserActivity: event=2, uid=1000
D/PowerManagerService( 652): updateUserActivitySummaryLocked: mWakefulness=Awake, mUserActivitySummary=0x1, nextTimeout=10228674 (in 7988 ms)
D/PowerManagerService( 652): newScreenState = 2
D/PowerManagerDisplayController( 652): requestPowerState: screenState=2, useProximitySensor=false, forceProximitySensorEnable=false, forceWakeUpEnable=false, screenBrightness=153, screenAutoBrightnessAdjustment=0.0, useAutoBrightness=false, useEcoBrightness=false, blockScreenOn=false, waitForNegativeProximity=false
I/PowerManagerService( 652): setBrightness mButtonLight 0.
D/PowerManagerService( 652): updateScreenStateLocked: mDisplayReady=true, newScreenState=2, mWakefulness=1, mWakeLockSummary=0x0, mUserActivitySummary=0x1, mBootCompleted=true
D/PowerManagerService( 652): handleSandman: canDream=true, mWakefulness=Awake
W/InputReader( 652): outer ID:0, tracking ID:1, pointer count:16
W/InputReader( 652): inCount:16, pointer count:1
I/View ( 720): Touch down dispatch to com.android.keyguard.UnReadEventView{41df43e0 V.E..... ........ 0,0-396,68 #7f0a0097 app:id/unread_event_view}, event = MotionEvent { action=ACTION_DOWN, id[0]=0, x[0]=117.51219, y[0]=33.670532, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=10220674, downTime=10220674, deviceId=2, source=0x1002 }
I/View ( 720): Touch down dispatch to android.widget.FrameLayout{4216b258 V.E..... ........ 0,25-600,976}, event = MotionEvent { action=ACTION_DOWN, id[0]=0, x[0]=219.51219, y[0]=534.67053, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=10220674, downTime=10220674, deviceId=2, source=0x1002 }
I/View ( 720): Touch down dispatch to com.android.keyguard.MediatekGlowPadView{42497968 V.ED.... ........ 0,0-396,432 #7f0a0027 app:id/glow_pad_view}, event = MotionEvent { action=ACTION_DOWN, id[0]=0, x[0]=117.51219, y[0]=33.670532, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=10220674, downTime=10220674, deviceId=2, source=0x1002 }
V/MediatekGlowPadView( 720): *** DOWN ***
V/MediatekGlowPadView( 720): *** MOVE ***
W/InputReader( 652): outer ID:0, tracking ID:1, pointer count:16
W/InputReader( 652): inCount:16, pointer count:1
W/InputReader( 652): outer ID:0, tracking ID:1, pointer count:16
W/InputReader( 652): inCount:16, pointer count:1
W/InputReader( 652): outer ID:0, tracking ID:1, pointer count:16
W/InputReader( 652): inCount:16, pointer count:1
V/MediatekGlowPadView( 720): *** MOVE ***
W/InputReader( 652): outer ID:0, tracking ID:1, pointer count:16
W/InputReader( 652): inCount:16, pointer count:1
W/InputReader( 652): outer ID:0, tracking ID:1, pointer count:16
W/InputReader( 652): inCount:16, pointer count:1
W/InputReader( 652): outer ID:0, tracking ID:1, pointer count:16
W/InputReader( 652): inCount:16, pointer count:1
V/MediatekGlowPadView( 720): *** MOVE ***
W/InputReader( 652): outer ID:0, tracking ID:1, pointer count:16
W/InputReader( 652): inCount:16, pointer count:1
W/InputReader( 652): outer ID:0, tracking ID:1, pointer count:16
W/InputReader( 652): inCount:16, pointer count:1
W/InputReader( 652): outer ID:0, tracking ID:1, pointer count:16
W/InputReader( 652): inCount:16, pointer count:1
I/BufferQueue( 143): [Keyguard](this:0xb78bd3c8,id:63,api:1,p:720,c:143) [queue] fps:32.11, dur:1027.73, max:54.23, min:11.96
V/MediatekGlowPadView( 720): *** MOVE ***
I/BufferQueue( 143): [Keyguard](this:0xb78bd3c8,id:63,api:1,p:720,c:143) [release] fps:32.62, dur:1011.74, max:54.26, min:15.66
I/SurfaceFlinger( 143): [Built-in Screen (type:0)] fps:33.604137,dur:1011.78,max:54.21,min:15.65
.............
e anche:
codice:
W/InputReader( 652): inCount:16, pointer count:0
W/InputReader( 652): inCount:16, pointer count:0
D/SurfaceFlinger( 143): SurfaceFlingerWatchdog:ERROR: open /dev/RT_Monitor failed.
D/SurfaceFlinger( 143): SurfaceFlingerWatchdog:ERROR: open /dev/RT_Monitor failed.
W/InputReader( 652): outer ID:0, tracking ID:1, pointer count:16
W/InputReader( 652): inCount:16, pointer count:1
D/InputReader( 652): AP_PROF:AppLaunch_dispatchPtr:Down:10368797, ID:0, Index:1469042528
I/AP_PROF ( 652): unable to open /proc/mtprof/status entry
D/PowerManagerService( 652): userActivityFromNative
D/PowerManagerService( 652): userActivityNoUpdateLocked: eventTime=10368797, event=2, flags=0x0, uid=1000
D/PowerManagerNotifier( 652): onUserActivity: event=2, uid=1000
D/PowerManagerService( 652): updateUserActivitySummaryLocked: mWakefulness=Awake, mUserActivitySummary=0x1, nextTimeout=10421797 (in 52999 ms)
D/PowerManagerService( 652): newScreenState = 2
D/PowerManagerDisplayController( 652): requestPowerState: screenState=2, useProximitySensor=false, forceProximitySensorEnable=false, forceWakeUpEnable=false, screenBrightness=153, screenAutoBrightnessAdjustment=0.0, useAutoBrightness=false, useEcoBrightness=false, blockScreenOn=false, waitForNegativeProximity=false
I/PowerManagerService( 652): setBrightness mButtonLight 0.
D/PowerManagerService( 652): updateScreenStateLocked: mDisplayReady=true, newScreenState=2, mWakefulness=1, mWakeLockSummary=0x0, mUserActivitySummary=0x1, mBootCompleted=true
D/PowerManagerService( 652): handleSandman: canDream=true, mWakefulness=Awake
V/WallpaperService( 720): Delivering touch event: MotionEvent { action=ACTION_DOWN, id[0]=0, x[0]=228.29268, y[0]=395.28784, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=10368797, downTime=10368797, deviceId=2, source=0x1002 }
D/Launcher3( 970): PagedView, onInterceptTouchEvent touch down: finishedScrolling = true, mScrollX = 0, xDist = 0, mTouchState = 0, this = com.android.launcher3.Workspace{41ebc4c8 V.EDH..L ........ -1769,-868-2370,1892 #7f100023 app:id/workspace}
I/View ( 970): Touch down dispatch to com.android.launcher3.CellLayout{4219fa78 V.ED..CL ........ 1789,961-2349,1722}, event = MotionEvent { action=ACTION_DOWN, id[0]=0, x[0]=156.00476, y[0]=452.25488, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=10368797, downTime=10368797, deviceId=2, source=0x1002 }
W/InputReader( 652): outer ID:0, tracking ID:1, pointer count:16
W/InputReader( 652): inCount:16, pointer count:1
V/WallpaperService( 720): Delivering touch event: MotionEvent { action=ACTION_MOVE, id[0]=0, x[0]=228.29268, y[0]=395.28784, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=10368814, downTime=10368797, deviceId=2, source=0x1002 }
W/InputReader( 652): outer ID:0, tracking ID:1, pointer count:16
W/InputReader( 652): inCount:16, pointer count:1
V/WallpaperService( 720): Delivering touch event: MotionEvent { action=ACTION_MOVE, id[0]=0, x[0]=228.29268, y[0]=395.28784, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=10368831, downTime=10368797, deviceId=2, source=0x1002 }
W/InputReader( 652): outer ID:0, tracking ID:1, pointer count:16
W/InputReader( 652): inCount:16, pointer count:1
V/WallpaperService( 720): Delivering touch event: MotionEvent { action=ACTION_MOVE, id[0]=0, x[0]=228.29268, y[0]=395.28784, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x1, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=10368848, downTime=10368797, deviceId=2, source=0x1002 }
W/InputReader( 652): outer ID:0, tracking ID:1, pointer count:16}