I2ScanParamManager.java 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. package epson.scan.i2lib;
  2. import android.content.Context;
  3. import androidx.annotation.NonNull;
  4. import androidx.annotation.Nullable;
  5. import com.epson.lib.escani2.EscanI2Lib;
  6. import com.epson.lib.escani2.I2LibScannerInfoAndCapability;
  7. import com.epson.lib.escani2.ScanI2Params;
  8. import com.epson.lib.escani2.ScanSize;
  9. import java.io.File;
  10. import java.io.IOException;
  11. public class I2ScanParamManager {
  12. static final int DEFAULT_RESOLUTION = 150;
  13. private static final String I2SCAN_ALL_INFO_FILE_NAME = "i2_all_info";
  14. private static final String I2SCAN_PARAM_FILE_NAME = "i2_scan_params.bin";
  15. private static final String TAG = "I2ScanParamManager";
  16. private static I2ScanParamManager sI2ScanParamManager;
  17. public static synchronized I2ScanParamManager getInstance() {
  18. I2ScanParamManager i2ScanParamManager;
  19. synchronized (I2ScanParamManager.class) {
  20. if (sI2ScanParamManager == null) {
  21. sI2ScanParamManager = new I2ScanParamManager();
  22. }
  23. i2ScanParamManager = sI2ScanParamManager;
  24. }
  25. return i2ScanParamManager;
  26. }
  27. @VisibleForTesting
  28. protected static void replaceInstance(@Nullable I2ScanParamManager i2ScanParamManager) {
  29. sI2ScanParamManager = i2ScanParamManager;
  30. }
  31. @VisibleForTesting
  32. protected I2ScanParamManager() {
  33. }
  34. public static void saveParams(@NonNull Context context, @NonNull ScanI2Params scanI2Params) throws IOException {
  35. getInstance().saveParamsNonStatic(context, scanI2Params);
  36. }
  37. public void saveParamsNonStatic(@android.support.annotation.NonNull android.content.Context r5, @android.support.annotation.NonNull com.epson.lib.escani2.ScanI2Params r6) throws java.io.IOException {
  38. throw new UnsupportedOperationException("Method not decompiled: epson.scan.i2lib.I2ScanParamManager.saveParamsNonStatic(android.content.Context, com.epson.lib.escani2.ScanI2Params):void");
  39. }
  40. @NonNull
  41. public static ScanI2Params loadScanI2Params(@NonNull Context context) {
  42. return getInstance().loadScanI2ParamsNonStatic(context);
  43. }
  44. public com.epson.lib.escani2.ScanI2Params loadScanI2ParamsNonStatic(@android.support.annotation.NonNull android.content.Context r4) {
  45. throw new UnsupportedOperationException("Method not decompiled: epson.scan.i2lib.I2ScanParamManager.loadScanI2ParamsNonStatic(android.content.Context):com.epson.lib.escani2.ScanI2Params");
  46. }
  47. public static void deleteScanI2Params(@NonNull Context context) {
  48. getInstance().deleteAllInfoFileNonStatic(context);
  49. }
  50. /* access modifiers changed from: protected */
  51. @VisibleForTesting
  52. public void deleteScanI2ParamsNonStatic(@NonNull Context context) {
  53. File fileStreamPath = context.getFileStreamPath(I2SCAN_PARAM_FILE_NAME);
  54. if (fileStreamPath.exists()) {
  55. fileStreamPath.delete();
  56. }
  57. }
  58. public static ScanI2Params getDefaultScanI2Params() {
  59. ScanI2Params scanI2Params = new ScanI2Params();
  60. scanI2Params.resolutionMain = 150;
  61. scanI2Params.resolutionSub = 150;
  62. scanI2Params.inputUnit = EscanI2Lib.InputUnit.ADF;
  63. scanI2Params.scanSize = ScanSize.getLocaleDefaultSize();
  64. scanI2Params.colorMode = EscanI2Lib.ColorMode.COLOR_24BIT;
  65. scanI2Params.userGamma = EscanI2Lib.Gamma.GAMMA_180;
  66. scanI2Params.autoCrop = EscanI2Lib.AutoCrop.FALSE;
  67. scanI2Params.autoSkew = EscanI2Lib.AutoSkew.FALSE;
  68. scanI2Params.lookupTableNo = 0;
  69. scanI2Params.duplex = false;
  70. scanI2Params.overScan = false;
  71. scanI2Params.density = 128;
  72. scanI2Params.densityChangeable = false;
  73. scanI2Params.doubleFeedLevel = EscanI2Lib.DoubleFeedLevel.LEVEL_NONE;
  74. scanI2Params.maxScanSheets = 30;
  75. scanI2Params.maxWriteSheets = 30;
  76. scanI2Params.qualityHW = 90;
  77. scanI2Params.qualitySW = 90;
  78. return scanI2Params;
  79. }
  80. public static void updateScanSize(Context context, ScanSize scanSize) throws IOException {
  81. getInstance().updateScanSizeNonStatic(context, scanSize);
  82. }
  83. /* access modifiers changed from: protected */
  84. @VisibleForTesting
  85. public void updateScanSizeNonStatic(Context context, ScanSize scanSize) throws IOException {
  86. ScanI2Params loadScanI2Params = loadScanI2Params(context);
  87. loadScanI2Params.scanSize = scanSize;
  88. saveParams(context, loadScanI2Params);
  89. }
  90. public static void saveI2AllInfo(@NonNull Context context, I2LibScannerInfoAndCapability i2LibScannerInfoAndCapability) throws IOException {
  91. getInstance().saveI2AllInfoNonStatic(context, i2LibScannerInfoAndCapability);
  92. }
  93. public void saveI2AllInfoNonStatic(@android.support.annotation.NonNull android.content.Context r5, com.epson.lib.escani2.I2LibScannerInfoAndCapability r6) throws java.io.IOException {
  94. throw new UnsupportedOperationException("Method not decompiled: epson.scan.i2lib.I2ScanParamManager.saveI2AllInfoNonStatic(android.content.Context, com.epson.lib.escani2.I2LibScannerInfoAndCapability):void");
  95. }
  96. @Nullable
  97. public static I2LibScannerInfoAndCapability loadI2AllInfo(@NonNull Context context) {
  98. return getInstance().loadI2AllInfoNonStatic(context);
  99. }
  100. public com.epson.lib.escani2.I2LibScannerInfoAndCapability loadI2AllInfoNonStatic(@android.support.annotation.NonNull android.content.Context r4) {
  101. throw new UnsupportedOperationException("Method not decompiled: epson.scan.i2lib.I2ScanParamManager.loadI2AllInfoNonStatic(android.content.Context):com.epson.lib.escani2.I2LibScannerInfoAndCapability");
  102. }
  103. public static void deleteAllInfoFile(@NonNull Context context) {
  104. getInstance().deleteAllInfoFileNonStatic(context);
  105. }
  106. /* access modifiers changed from: protected */
  107. @VisibleForTesting
  108. public void deleteAllInfoFileNonStatic(@NonNull Context context) {
  109. File fileStreamPath = context.getFileStreamPath(I2SCAN_ALL_INFO_FILE_NAME);
  110. if (fileStreamPath.exists()) {
  111. fileStreamPath.delete();
  112. }
  113. }
  114. }