ScanSettingsDetailActivity.java 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. package epson.scan.activity;
  2. import android.content.Context;
  3. import android.content.Intent;
  4. import android.os.Bundle;
  5. import android.view.View;
  6. import android.widget.AdapterView;
  7. import android.widget.ListView;
  8. import java.util.ArrayList;
  9. import java.util.LinkedHashMap;
  10. import java.util.List;
  11. import epson.common.Constants;
  12. import epson.common.CustomListRow;
  13. import epson.common.CustomListRowAdapter;
  14. import epson.common.CustomListRowImpl;
  15. import epson.print.ActivityIACommon;
  16. import epson.print.R;
  17. import epson.print.Util.EPLog;
  18. import epson.scan.lib.ScanSizeHelper;
  19. public class ScanSettingsDetailActivity extends ActivityIACommon {
  20. private static final String SCAN_SETTINGS_LAST_VALUE = "SCAN_SETTINGS_LAST_VALUE";
  21. private static final String SCAN_SUPPORTED_RESOLUTION_LIST = "SCAN_SUPPORTED_RESOLUTION_LIST";
  22. private static final String SCAN_SUPPORTED_SIZE_LIST = "SCAN_SUPPORTED_SIZE_LIST";
  23. int adfHeight;
  24. int adfWidth;
  25. Context context;
  26. private List<CustomListRow> items;
  27. private int lastAdfGuid;
  28. int lastValue;
  29. LinkedHashMap<String, Integer> lhmListOptionValue;
  30. int[] listResolution;
  31. private ListView listSelect;
  32. private ListView listSelect2;
  33. int[] listSize;
  34. private AdapterView.OnItemClickListener mListOptionClick = new AdapterView.OnItemClickListener() {
  35. public void onItemClick(AdapterView<?> adapterView, View view, int i, long j) {
  36. if (view.getTag() instanceof ScanSettingsDetailAdapter.DetailSettingHolder) {
  37. ScanSettingsDetailAdapter.DetailSettingHolder detailSettingHolder = (ScanSettingsDetailAdapter.DetailSettingHolder) view.getTag();
  38. if (ScanSettingsDetailActivity.this.screenId == R.string.str_settings_source_title) {
  39. ScanSettingsDetailActivity.this.lastValue = detailSettingHolder.value;
  40. String unused = ScanSettingsDetailActivity.this.strSelText = detailSettingHolder.text.getText().toString();
  41. ScanSettingsDetailActivity.this.ssdAdapter.setSelected(ScanSettingsDetailActivity.this.lastValue);
  42. ScanSettingsDetailActivity.this.ssdAdapter.notifyDataSetChanged();
  43. if (ScanSettingsDetailActivity.this.lastValue == 1) {
  44. ScanSettingsDetailActivity.this.listSelect2.setVisibility(View.VISIBLE);
  45. } else {
  46. ScanSettingsDetailActivity.this.listSelect2.setVisibility(View.GONE);
  47. }
  48. } else {
  49. Intent intent = ScanSettingsDetailActivity.this.getIntent();
  50. int i2 = ScanSettingsDetailActivity.this.screenId;
  51. if (i2 != R.string.str_advance_setting) {
  52. if (i2 == R.string.str_scanning_size) {
  53. intent.putExtra(Constants.SCAN_REFS_SCANNER_CHOSEN_SIZE, detailSettingHolder.value);
  54. } else if (i2 != R.string.str_settings_color_title) {
  55. if (i2 == R.string.str_settings_resolution_title) {
  56. intent.putExtra(Constants.SCAN_REFS_SETTINGS_RESOLUTION, detailSettingHolder.value);
  57. intent.putExtra(Constants.SCAN_REFS_SETTINGS_RESOLUTION_NAME, detailSettingHolder.text.getText().toString());
  58. }
  59. }
  60. intent.putExtra(Constants.SCAN_REFS_SETTINGS_COLOR, detailSettingHolder.value);
  61. intent.putExtra(Constants.SCAN_REFS_SETTINGS_COLOR_NAME, detailSettingHolder.text.getText().toString());
  62. }
  63. ScanSettingsDetailActivity.this.setResult(-1, intent);
  64. ScanSettingsDetailActivity.this.finish();
  65. }
  66. }
  67. }
  68. };
  69. private AdapterView.OnItemClickListener mListOptionClick2 = new AdapterView.OnItemClickListener() {
  70. public void onItemClick(AdapterView<?> adapterView, View view, int i, long j) {
  71. EPLog.i("mListOptionClick2", "[position]" + i);
  72. EPLog.i("mListOptionClick2", "[id]" + j);
  73. int unused = ScanSettingsDetailActivity.this.lastAdfGuid = i;
  74. switch (i) {
  75. case 0:
  76. ScanSettingsDetailActivity.mlAdapter.setList(0, CustomListRowImpl.create().addText(ScanSettingsDetailActivity.this.getString(R.string.str_settings_right_aligned)).prefixImage(Integer.valueOf(R.drawable.adf_left_adst)).suffixImage(Integer.valueOf(R.drawable.selected)));
  77. ScanSettingsDetailActivity.mlAdapter.setList(1, CustomListRowImpl.create().addText(ScanSettingsDetailActivity.this.getString(R.string.str_settings_center_aligned)).prefixImage(Integer.valueOf(R.drawable.adf_center_adst)));
  78. break;
  79. case 1:
  80. ScanSettingsDetailActivity.mlAdapter.setList(0, CustomListRowImpl.create().addText(ScanSettingsDetailActivity.this.getString(R.string.str_settings_right_aligned)).prefixImage(Integer.valueOf(R.drawable.adf_left_adst)));
  81. ScanSettingsDetailActivity.mlAdapter.setList(1, CustomListRowImpl.create().addText(ScanSettingsDetailActivity.this.getString(R.string.str_settings_center_aligned)).prefixImage(Integer.valueOf(R.drawable.adf_center_adst)).suffixImage(Integer.valueOf(R.drawable.selected)));
  82. break;
  83. }
  84. ScanSettingsDetailActivity.mlAdapter.notifyDataSetChanged();
  85. }
  86. };
  87. private CustomListRowAdapter mlAdapter;
  88. int screenId;
  89. String screenTitle;
  90. private ScanSettingsDetailAdapter ssdAdapter;
  91. private String strSelText;
  92. protected void onCreate(Bundle bundle) {
  93. super.onCreate(bundle);
  94. setContentView(R.layout.scan_settings_detail_2);
  95. Bundle extras = getIntent().getExtras();
  96. screenId = extras.getInt(Constants.SCAN_SETTINGS_DETAIL_TITLE);
  97. lastValue = extras.getInt(SCAN_SETTINGS_LAST_VALUE);
  98. adfWidth = extras.getInt(Constants.SCAN_REFS_OPTIONS_ADF_WIDTH);
  99. adfHeight = extras.getInt(Constants.SCAN_REFS_OPTIONS_ADF_HEIGHT);
  100. listResolution = extras.getIntArray(SCAN_SUPPORTED_RESOLUTION_LIST);
  101. listSize = extras.getIntArray(SCAN_SUPPORTED_SIZE_LIST);
  102. lastAdfGuid = extras.getInt(Constants.SCAN_REFS_SETTINGS_ADF_PAPER_GUIDE);
  103. listSelect = (ListView) findViewById(R.id.lvScannerSettingOptions);
  104. listSelect2 = (ListView) findViewById(R.id.lvScannerSettingOptions2);
  105. context = this;
  106. makeListCorespondenceOptions(this.screenId);
  107. setListCorespondenceOptions(this.screenId);
  108. setActionBar(getTitle().toString(), true);
  109. }
  110. private void makeListCorespondenceOptions(int i) {
  111. items = new ArrayList();
  112. lhmListOptionValue = new LinkedHashMap<>();
  113. switch (i) {
  114. case R.string.str_advance_setting /*2131625070*/:
  115. screenTitle = getString(R.string.str_advance_setting);
  116. return;
  117. case R.string.str_scanning_size /*2131625215*/:
  118. screenTitle = getString(R.string.str_scanning_size);
  119. for (int i2 : listSize) {
  120. lhmListOptionValue.put(getString(ScanSizeHelper.getScanSizeName(i2)), Integer.valueOf(i2));
  121. }
  122. return;
  123. case R.string.str_settings_color_title /*2131625225*/:
  124. screenTitle = getString(R.string.str_settings_color_title);
  125. lhmListOptionValue.put(getString(R.string.str_settings_color_color), 1);
  126. lhmListOptionValue.put(getString(R.string.str_settings_color_grayscale), 2);
  127. lhmListOptionValue.put(getString(R.string.str_settings_color_monochrome), 3);
  128. return;
  129. case R.string.str_settings_resolution_title /*2131625231*/:
  130. screenTitle = getString(R.string.str_settings_resolution_title);
  131. int i3 = 0;
  132. while (true) {
  133. int[] iArr = listResolution;
  134. if (i3 < iArr.length) {
  135. int i4 = iArr[i3];
  136. if (i4 == 75 || i4 == 150 || i4 == 300) {
  137. lhmListOptionValue.put(String.format(getString(R.string.str_settings_resolution), new Object[]{Integer.valueOf(this.listResolution[i3])}), Integer.valueOf(this.listResolution[i3]));
  138. }
  139. i3++;
  140. } else {
  141. return;
  142. }
  143. }
  144. break;
  145. case R.string.str_settings_source_title /*2131625235*/:
  146. screenTitle = getString(R.string.str_settings_source_title);
  147. lhmListOptionValue.put(getString(R.string.str_settings_source_doctable), 0);
  148. if (this.adfWidth > 0 && adfHeight > 0) {
  149. lhmListOptionValue.put(getString(R.string.str_settings_source_adf), 1);
  150. }
  151. switch (this.lastAdfGuid) {
  152. case 0:
  153. items.add(CustomListRowImpl.create().addText(getString(R.string.str_settings_right_aligned)).prefixImage(Integer.valueOf(R.drawable.adf_left_adst)).suffixImage(Integer.valueOf(R.drawable.selected)));
  154. items.add(CustomListRowImpl.create().addText(getString(R.string.str_settings_center_aligned)).prefixImage(Integer.valueOf(R.drawable.adf_center_adst)));
  155. return;
  156. case 1:
  157. items.add(CustomListRowImpl.create().addText(getString(R.string.str_settings_right_aligned)).prefixImage(Integer.valueOf(R.drawable.adf_left_adst)));
  158. items.add(CustomListRowImpl.create().addText(getString(R.string.str_settings_center_aligned)).prefixImage(Integer.valueOf(R.drawable.adf_center_adst)).suffixImage(Integer.valueOf(R.drawable.selected)));
  159. return;
  160. default:
  161. return;
  162. }
  163. default:
  164. return;
  165. }
  166. }
  167. private void setListCorespondenceOptions(int i) {
  168. setTitle(this.screenTitle);
  169. switch (i) {
  170. case R.string.str_scanning_size /*2131625215*/:
  171. case R.string.str_settings_color_title /*2131625225*/:
  172. case R.string.str_settings_resolution_title /*2131625231*/:
  173. break;
  174. case R.string.str_settings_source_title /*2131625235*/:
  175. mlAdapter = new CustomListRowAdapter(this, R.layout.com_customline_row, items);
  176. listSelect2.setAdapter(mlAdapter);
  177. listSelect2.setOnItemClickListener(mListOptionClick2);
  178. if (this.lastValue != 1) {
  179. listSelect2.setVisibility(View.GONE);
  180. break;
  181. } else {
  182. listSelect2.setVisibility(View.VISIBLE);
  183. break;
  184. }
  185. default:
  186. return;
  187. }
  188. ssdAdapter = new ScanSettingsDetailAdapter(getBaseContext(), lhmListOptionValue, lastValue);
  189. listSelect.setAdapter(this.ssdAdapter);
  190. listSelect.setOnItemClickListener(mListOptionClick);
  191. }
  192. public void onBackPressed() {
  193. Intent intent = getIntent();
  194. if (this.screenId != R.string.str_settings_source_title) {
  195. setResult(0, intent);
  196. } else {
  197. if (this.lastValue == 1) {
  198. strSelText = getString(R.string.str_settings_source_adf);
  199. } else {
  200. strSelText = getString(R.string.str_settings_source_doctable);
  201. }
  202. intent.putExtra(Constants.SCAN_REFS_SETTINGS_SOURCE, lastValue);
  203. intent.putExtra(Constants.SCAN_REFS_SETTINGS_SOURCE_NAME, strSelText);
  204. intent.putExtra(Constants.SCAN_REFS_SETTINGS_ADF_PAPER_GUIDE, lastAdfGuid);
  205. setResult(-1, intent);
  206. }
  207. finish();
  208. super.onBackPressed();
  209. }
  210. }