InputUnitSettingActivity.java 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  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 epson.common.Constants;
  11. import epson.common.CustomListRowAdapter;
  12. import epson.common.CustomListRowImpl;
  13. import epson.print.ActivityIACommon;
  14. import epson.print.R;
  15. public class InputUnitSettingActivity extends ActivityIACommon {
  16. public static final int IGNORE_ADF_ALIGNMENT = -1;
  17. private static final String SCAN_SETTINGS_ADF_ALIGNMENT = "adf-alignment";
  18. private static final String SCAN_SETTINGS_LAST_VALUE = "SCAN_SETTINGS_LAST_VALUE";
  19. private boolean displayAdfAlignment;
  20. private int lastAdfGuide;
  21. private int lastValue;
  22. private ListView listSelect;
  23. private ListView listSelect2;
  24. private final AdapterView.OnItemClickListener mListOptionClick = new AdapterView.OnItemClickListener() {
  25. public void onItemClick(AdapterView<?> adapterView, View view, int i, long j) {
  26. int unused = InputUnitSettingActivity.this.lastValue = ((ScanSettingsDetailAdapter.DetailSettingHolder) view.getTag()).value;
  27. InputUnitSettingActivity.this.ssdAdapter.setSelected (lastValue);
  28. InputUnitSettingActivity.this.ssdAdapter.notifyDataSetChanged();
  29. if (lastValue == 1) {
  30. InputUnitSettingActivity.this.listSelect2.setVisibility(View.VISIBLE);
  31. } else {
  32. InputUnitSettingActivity.this.listSelect2.setVisibility(View.GONE);
  33. }
  34. }
  35. };
  36. private final AdapterView.OnItemClickListener mListOptionClick2 = new AdapterView.OnItemClickListener() {
  37. public void onItemClick(AdapterView<?> adapterView, View view, int i, long j) {
  38. int unused = InputUnitSettingActivity.this.lastAdfGuide = i;
  39. switch (i) {
  40. case 0:
  41. InputUnitSettingActivity.mlAdapter.setList(0, CustomListRowImpl.create (getString(R.string.str_settings_right_aligned)).prefixImage(Integer.valueOf(R.drawable.adf_left_adst)).suffixImage(Integer.valueOf(R.drawable.selected)));
  42. InputUnitSettingActivity.mlAdapter.setList(1, CustomListRowImpl.create (getString(R.string.str_settings_center_aligned)).prefixImage(Integer.valueOf(R.drawable.adf_center_adst)));
  43. break;
  44. case 1:
  45. InputUnitSettingActivity.mlAdapter.setList(0, CustomListRowImpl.create (getString(R.string.str_settings_right_aligned)).prefixImage(Integer.valueOf(R.drawable.adf_left_adst)));
  46. InputUnitSettingActivity.mlAdapter.setList(1, CustomListRowImpl.create (getString(R.string.str_settings_center_aligned)).prefixImage(Integer.valueOf(R.drawable.adf_center_adst)).suffixImage(Integer.valueOf(R.drawable.selected)));
  47. break;
  48. }
  49. InputUnitSettingActivity.mlAdapter.notifyDataSetChanged();
  50. }
  51. };
  52. private CustomListRowAdapter mlAdapter;
  53. private ScanSettingsDetailAdapter ssdAdapter;
  54. protected void onCreate(Bundle bundle) {
  55. super.onCreate(bundle);
  56. setContentView(R.layout.scan_settings_detail_2);
  57. Bundle extras = getIntent().getExtras();
  58. lastValue = extras.getInt(SCAN_SETTINGS_LAST_VALUE);
  59. lastAdfGuide = extras.getInt(SCAN_SETTINGS_ADF_ALIGNMENT);
  60. if (lastAdfGuide >= 0) {
  61. displayAdfAlignment = true;
  62. } else {
  63. displayAdfAlignment = false;
  64. }
  65. listSelect = (ListView) findViewById(R.id.lvScannerSettingOptions);
  66. listSelect2 = (ListView) findViewById(R.id.lvScannerSettingOptions2);
  67. makeListCorrespondenceOptions();
  68. setActionBar(getTitle().toString(), true);
  69. }
  70. private void makeListCorrespondenceOptions() {
  71. setTitle(getString(R.string.str_settings_source_title));
  72. ArrayList arrayList = new ArrayList();
  73. switch (lastAdfGuide) {
  74. case 0:
  75. arrayList.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)));
  76. arrayList.add(CustomListRowImpl.create().addText(getString(R.string.str_settings_center_aligned)).prefixImage(Integer.valueOf(R.drawable.adf_center_adst)));
  77. break;
  78. case 1:
  79. arrayList.add(CustomListRowImpl.create().addText(getString(R.string.str_settings_right_aligned)).prefixImage(Integer.valueOf(R.drawable.adf_left_adst)));
  80. arrayList.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)));
  81. break;
  82. }
  83. mlAdapter = new CustomListRowAdapter(this, R.layout.com_customline_row, arrayList);
  84. listSelect2.setAdapter(mlAdapter);
  85. listSelect2.setOnItemClickListener(mListOptionClick2);
  86. if (lastValue == 1) {
  87. listSelect2.setVisibility(View.VISIBLE);
  88. } else {
  89. listSelect2.setVisibility(View.GONE);
  90. }
  91. LinkedHashMap linkedHashMap = new LinkedHashMap();
  92. linkedHashMap.put(getString(R.string.str_settings_source_doctable), 0);
  93. linkedHashMap.put(getString(R.string.str_settings_source_adf), 1);
  94. ssdAdapter = new ScanSettingsDetailAdapter(getBaseContext(), linkedHashMap, lastValue);
  95. listSelect.setAdapter(ssdAdapter);
  96. listSelect.setOnItemClickListener(mListOptionClick);
  97. }
  98. public void onBackPressed() {
  99. Intent intent = new Intent();
  100. intent.putExtra(Constants.SCAN_REFS_SETTINGS_SOURCE, lastValue);
  101. intent.putExtra(SCAN_SETTINGS_ADF_ALIGNMENT, displayAdfAlignment ? lastAdfGuide : -1);
  102. setResult(-1, intent);
  103. finish();
  104. }
  105. public static Intent getStartIntent(Context context, int i, int i2) {
  106. Intent intent = new Intent(context, InputUnitSettingActivity.class);
  107. intent.putExtra(SCAN_SETTINGS_LAST_VALUE, i);
  108. intent.putExtra(SCAN_SETTINGS_ADF_ALIGNMENT, i2);
  109. return intent;
  110. }
  111. public static int getInputUnit(Intent intent) {
  112. if (intent == null) {
  113. return 0;
  114. }
  115. return intent.getIntExtra(Constants.SCAN_REFS_SETTINGS_SOURCE, 0);
  116. }
  117. public static int getAdfAlignment(Intent intent) {
  118. if (intent == null) {
  119. return -1;
  120. }
  121. return intent.getIntExtra(SCAN_SETTINGS_ADF_ALIGNMENT, -1);
  122. }
  123. }