1 package org.coolreader.crengine; 2 3 import android.view.View; 4 5 public class EinkScreenTolino extends EinkScreenNook { 6 7 @Override prepareController(View view, boolean isPartially)8 public void prepareController(View view, boolean isPartially) { 9 //System.err.println("Sleep = " + isPartially); 10 if (isPartially || mIsSleep != isPartially) { 11 tolinoSleepController(isPartially, view); 12 // if (isPartially) 13 return; 14 } 15 if (mRefreshNumber == -1) { 16 switch (mUpdateMode) { 17 case Clear: 18 tolinoSetMode(view, mUpdateMode); 19 break; 20 case Active: 21 if (mUpdateInterval == 0) { 22 tolinoSetMode(view, mUpdateMode); 23 } 24 break; 25 } 26 mRefreshNumber = 0; 27 return; 28 } 29 if (mUpdateMode == EinkUpdateMode.Clear) { 30 tolinoSetMode(view, mUpdateMode); 31 return; 32 } 33 if (mUpdateInterval > 0 || mUpdateMode == EinkUpdateMode.Fast) { 34 if (mRefreshNumber == 0 || (mUpdateMode == EinkUpdateMode.Fast && mRefreshNumber < mUpdateInterval)) { 35 switch (mUpdateMode) { 36 case Active: 37 tolinoSetMode(view, mUpdateMode); 38 break; 39 case Fast: 40 tolinoSetMode(view, mUpdateMode); 41 break; 42 } 43 } else if (mUpdateInterval <= mRefreshNumber) { 44 tolinoSetMode(view, EinkUpdateMode.Clear); 45 mRefreshNumber = -1; 46 } 47 if (mUpdateInterval > 0) { 48 mRefreshNumber++; 49 } 50 } 51 } 52 53 54 // private methods tolinoSleepController(boolean toSleep, View view)55 private void tolinoSleepController(boolean toSleep, View view) { 56 if (toSleep != mIsSleep) { 57 log.d("+++SleepController " + toSleep); 58 mIsSleep = toSleep; 59 if (mIsSleep) { 60 switch (mUpdateMode) { 61 case Clear: 62 break; 63 case Fast: 64 break; 65 case Active: 66 tolinoSetMode(view, EinkUpdateMode.Clear); 67 mRefreshNumber = -1; 68 } 69 } else { 70 setupController(mUpdateMode, mUpdateInterval, view); 71 } 72 } 73 } 74 tolinoSetMode(View view, EinkUpdateMode mode)75 private void tolinoSetMode(View view, EinkUpdateMode mode) { 76 TolinoEpdController.setMode(view, mode); 77 } 78 } 79