CopyScaleActivity.java 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334
  1. package epson.print.copy;
  2. import android.app.AlertDialog;
  3. import android.content.Context;
  4. import android.content.DialogInterface;
  5. import android.content.Intent;
  6. import android.os.Bundle;
  7. import android.os.SystemClock;
  8. import android.view.LayoutInflater;
  9. import android.view.MotionEvent;
  10. import android.view.View;
  11. import android.view.ViewGroup;
  12. import android.widget.AdapterView;
  13. import android.widget.ArrayAdapter;
  14. import android.widget.Button;
  15. import android.widget.ImageView;
  16. import android.widget.LinearLayout;
  17. import android.widget.ListView;
  18. import android.widget.TextView;
  19. import com.epson.mobilephone.common.wifidirect.WiFiDirectManager;
  20. import epson.print.R;
  21. import epson.print.Util.EPLog;
  22. import epson.print.copy.ActivityBase;
  23. import epson.print.copy.Component.ecopycomponent.ECopyComponent;
  24. import epson.print.copy.Component.ecopycomponent.ECopyOptionItem;
  25. import epson.print.widgets.LongTapRepeatAdapter;
  26. import java.util.ArrayList;
  27. import java.util.Iterator;
  28. public class CopyScaleActivity extends ActivityBase {
  29. private String TAG = "CppyScaleActivity";
  30. ActivityBase.OptionItemChangedListener optionValueChangedListener;
  31. String settingItemKey;
  32. public void onCreate(Bundle bundle) {
  33. super.onCreate(bundle);
  34. EPLog.i(this.TAG, "onCreate");
  35. setContentView((int) R.layout.copy_scale);
  36. Intent intent = getIntent();
  37. if (intent != null) {
  38. this.settingItemKey = intent.getStringExtra("Key");
  39. setActionBar(string(this.settingItemKey), true);
  40. }
  41. this.optionValueChangedListener = new ActivityBase.OptionItemChangedListener() {
  42. public void onOptionItemChanged(ECopyOptionItem eCopyOptionItem) {
  43. ArrayList arrayList = new ArrayList();
  44. CopyScaleActivity.this.copyComponent.setCopyOptionItem(eCopyOptionItem);
  45. if (eCopyOptionItem.getKey() == ECopyOptionItem.ECopyOptionItemKey.CopyMagnification) {
  46. arrayList.add(eCopyOptionItem);
  47. CopyScaleActivity.this.buildCopyOptions(arrayList);
  48. }
  49. }
  50. };
  51. buildCopyOptions(this.copyComponent.getCopyOptionItems());
  52. }
  53. private void buildCopyOptions(ArrayList<ECopyOptionItem> arrayList) {
  54. EPLog.i(this.TAG, "buildCopyOptions");
  55. Iterator<ECopyOptionItem> it = arrayList.iterator();
  56. while (it.hasNext()) {
  57. ECopyOptionItem next = it.next();
  58. ECopyOptionItem.ECopyOptionItemKey key = next.getKey();
  59. if (key == ECopyOptionItem.ECopyOptionItemKey.CopyMagnification) {
  60. this.optionValueMap.put(key, new CopyMagnificationValue(next));
  61. }
  62. if (key.name().equalsIgnoreCase(this.settingItemKey)) {
  63. this.optionValueMap.put(key, new XScaleValue(next));
  64. }
  65. }
  66. }
  67. class XScaleValue extends ActivityBase.ListOptionValue {
  68. final int AUTOFIT = 0;
  69. final int CUSTOM = 2;
  70. final int FULLSIZE = 1;
  71. ArrayList<ScaleInfo> presetArray = new ArrayList<>();
  72. int selectedItemPos;
  73. XScaleValue(ECopyOptionItem eCopyOptionItem) {
  74. super();
  75. bindOption(eCopyOptionItem);
  76. capabilitySetting(eCopyOptionItem, CopyScaleActivity.this);
  77. setOptionValueChangedListener(CopyScaleActivity.this.optionValueChangedListener);
  78. }
  79. private ScaleAdapter getArrayAdapter(XScaleValue xScaleValue, Context context) {
  80. for (int i = 3; i < xScaleValue.getKeyArray().length; i++) {
  81. this.presetArray.add(new ScaleInfo(CopyScaleActivity.this.copyType, (ECopyOptionItem.ECopyOptionItemChoice) xScaleValue.choices.get(i)));
  82. }
  83. return new ScaleAdapter(context, R.layout.setting_item, this.presetArray);
  84. }
  85. private void capabilitySetting(ECopyOptionItem eCopyOptionItem, Context context) {
  86. int i = 0;
  87. while (true) {
  88. if (i >= this.choices.size()) {
  89. break;
  90. } else if (this.selected == this.choices.get(i)) {
  91. this.selectedItemPos = i;
  92. break;
  93. } else {
  94. i++;
  95. }
  96. }
  97. LinearLayout linearLayout = (LinearLayout) CopyScaleActivity.this.findViewById(R.id.auto_fit);
  98. if (this.selectedItemPos == 0) {
  99. ((ImageView) CopyScaleActivity.this.findViewById(R.id.auto_select_icon)).setVisibility(0);
  100. } else {
  101. ((ImageView) CopyScaleActivity.this.findViewById(R.id.auto_select_icon)).setVisibility(8);
  102. }
  103. linearLayout.setOnClickListener(new View.OnClickListener() {
  104. public void onClick(View view) {
  105. XScaleValue xScaleValue = XScaleValue.this;
  106. xScaleValue.selected = (ECopyOptionItem.ECopyOptionItemChoice) xScaleValue.choices.get(0);
  107. XScaleValue.this.optionItem.selectChoice(XScaleValue.this.selected);
  108. if (XScaleValue.this.changedListener != null) {
  109. XScaleValue.this.changedListener.onOptionItemChanged(XScaleValue.this.optionItem);
  110. }
  111. CopyScaleActivity.this.isKeepSimpleAPConnection = true;
  112. CopyScaleActivity.this.finish();
  113. }
  114. });
  115. LinearLayout linearLayout2 = (LinearLayout) CopyScaleActivity.this.findViewById(R.id.full_size);
  116. if (this.selectedItemPos == 1) {
  117. ((ImageView) CopyScaleActivity.this.findViewById(R.id.full_select_icon)).setVisibility(0);
  118. } else {
  119. ((ImageView) CopyScaleActivity.this.findViewById(R.id.full_select_icon)).setVisibility(8);
  120. }
  121. linearLayout2.setOnClickListener(new View.OnClickListener() {
  122. public void onClick(View view) {
  123. XScaleValue xScaleValue = XScaleValue.this;
  124. xScaleValue.selected = (ECopyOptionItem.ECopyOptionItemChoice) xScaleValue.choices.get(1);
  125. XScaleValue.this.optionItem.selectChoice(XScaleValue.this.selected);
  126. if (XScaleValue.this.changedListener != null) {
  127. XScaleValue.this.changedListener.onOptionItemChanged(XScaleValue.this.optionItem);
  128. }
  129. CopyScaleActivity.this.isKeepSimpleAPConnection = true;
  130. CopyScaleActivity.this.finish();
  131. }
  132. });
  133. if (this.selectedItemPos == 2) {
  134. ((ImageView) CopyScaleActivity.this.findViewById(R.id.custom_select_icon)).setVisibility(0);
  135. } else {
  136. ((ImageView) CopyScaleActivity.this.findViewById(R.id.custom_select_icon)).setVisibility(8);
  137. }
  138. ListView listView = (ListView) CopyScaleActivity.this.findViewById(R.id.scale_list);
  139. listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  140. public void onItemClick(AdapterView<?> adapterView, View view, int i, long j) {
  141. XScaleValue xScaleValue = XScaleValue.this;
  142. xScaleValue.selected = (ECopyOptionItem.ECopyOptionItemChoice) xScaleValue.choices.get(i + 3);
  143. XScaleValue.this.optionItem.selectChoice(XScaleValue.this.selected);
  144. if (XScaleValue.this.changedListener != null) {
  145. XScaleValue.this.changedListener.onOptionItemChanged(XScaleValue.this.optionItem);
  146. }
  147. CopyScaleActivity.this.isKeepSimpleAPConnection = true;
  148. CopyScaleActivity.this.finish();
  149. }
  150. });
  151. listView.setAdapter(getArrayAdapter(this, context));
  152. }
  153. private class ScaleAdapter extends ArrayAdapter<ScaleInfo> {
  154. private LayoutInflater inflater;
  155. private ArrayList<ScaleInfo> items;
  156. public ScaleAdapter(Context context, int i, ArrayList<ScaleInfo> arrayList) {
  157. super(context, i, arrayList);
  158. this.items = arrayList;
  159. this.inflater = (LayoutInflater) context.getSystemService("layout_inflater");
  160. }
  161. public View getView(int i, View view, ViewGroup viewGroup) {
  162. if (view == null) {
  163. view = this.inflater.inflate(R.layout.setting_item, (ViewGroup) null);
  164. }
  165. ((TextView) view.findViewById(R.id.setting_name)).setText(this.items.get(i).scalePresetName);
  166. int i2 = this.items.get(i).scaleNum;
  167. ((TextView) view.findViewById(R.id.setting_value)).setText(String.valueOf(i2) + " %");
  168. if (i == XScaleValue.this.selectedItemPos - 3) {
  169. ((ImageView) view.findViewById(R.id.setting_active_icon)).setVisibility(0);
  170. } else {
  171. ((ImageView) view.findViewById(R.id.setting_active_icon)).setVisibility(8);
  172. }
  173. return view;
  174. }
  175. }
  176. private class ScaleInfo {
  177. int scaleNum;
  178. String scalePresetName;
  179. ScaleInfo(ECopyComponent.ECopyType eCopyType, ECopyOptionItem.ECopyOptionItemChoice eCopyOptionItemChoice) {
  180. this.scalePresetName = CopyScaleActivity.this.string(eCopyOptionItemChoice.name());
  181. this.scaleNum = CopyScaleActivity.this.copyComponent.getCopyValue(eCopyType, eCopyOptionItemChoice);
  182. }
  183. }
  184. }
  185. class CopyMagnificationValue extends ActivityBase.NumberOptionValue {
  186. CopyMagnificationValue(ECopyOptionItem eCopyOptionItem) {
  187. super();
  188. bindOption(R.id.CopyMagnification, eCopyOptionItem);
  189. clickCustomScale();
  190. setOptionValueChangedListener(CopyScaleActivity.this.optionValueChangedListener);
  191. }
  192. private void bindOption(int i, ECopyOptionItem eCopyOptionItem) {
  193. this.optionItem = eCopyOptionItem;
  194. this.editText = (TextView) CopyScaleActivity.this.findViewById(i);
  195. this.value = eCopyOptionItem.getSelectedValue();
  196. if (this.value == ECopyOptionItem.CopyMagnificationAutofitValue) {
  197. this.editText.setText("---");
  198. } else {
  199. this.editText.setText(String.valueOf(this.value));
  200. }
  201. this.editText.setEnabled(eCopyOptionItem.isEnabled());
  202. }
  203. private void clickCustomScale() {
  204. ((LinearLayout) CopyScaleActivity.this.findViewById(R.id.copy_scale_custom)).setOnClickListener(new View.OnClickListener() {
  205. public void onClick(View view) {
  206. View inflate = LayoutInflater.from(CopyScaleActivity.this).inflate(R.layout.copy_custom_scale, (ViewGroup) null);
  207. CopyMagnificationValue.this.editText = (TextView) inflate.findViewById(R.id.SettingCopyMagnification);
  208. CopyMagnificationValue copyMagnificationValue = CopyMagnificationValue.this;
  209. copyMagnificationValue.value = copyMagnificationValue.optionItem.getSelectedValue();
  210. if (CopyMagnificationValue.this.value == ECopyOptionItem.CopyMagnificationAutofitValue) {
  211. CopyMagnificationValue.this.value = 100;
  212. }
  213. CopyMagnificationValue.this.editText.setText(String.valueOf(CopyMagnificationValue.this.value));
  214. CopyMagnificationValue.this.countUp = (Button) inflate.findViewById(R.id.SettingButonCopyMagnificationCountUp);
  215. CopyMagnificationValue.this.countUp.setOnClickListener(new CountCustomScale(1));
  216. if (CopyMagnificationValue.this.value == CopyMagnificationValue.this.optionItem.getMaximumValue()) {
  217. CopyMagnificationValue.this.countUp.setEnabled(false);
  218. } else {
  219. CopyMagnificationValue.this.countUp.setEnabled(true);
  220. }
  221. LongTapRepeatAdapter.bless(CopyMagnificationValue.this.countUp);
  222. CopyMagnificationValue.this.countDown = (Button) inflate.findViewById(R.id.SettingButonCopyMagnificationCountDown);
  223. CopyMagnificationValue.this.countDown.setOnClickListener(new CountCustomScale(-1));
  224. if (CopyMagnificationValue.this.value == CopyMagnificationValue.this.optionItem.getMinimumValue()) {
  225. CopyMagnificationValue.this.countDown.setEnabled(false);
  226. } else {
  227. CopyMagnificationValue.this.countDown.setEnabled(true);
  228. }
  229. LongTapRepeatAdapter.bless(CopyMagnificationValue.this.countDown);
  230. AlertDialog.Builder builder = new AlertDialog.Builder(CopyScaleActivity.this);
  231. builder.setTitle(R.string.XScale_Custom);
  232. builder.setView(inflate);
  233. builder.setPositiveButton(CopyScaleActivity.this.getString(R.string.str_ok), new DialogInterface.OnClickListener() {
  234. public void onClick(DialogInterface dialogInterface, int i) {
  235. ActivityBase.ListOptionValue listOptionValue = (ActivityBase.ListOptionValue) CopyScaleActivity.this.optionValueMap.get(ECopyOptionItem.ECopyOptionItemKey.XScale);
  236. listOptionValue.optionItem.selectChoice(ECopyOptionItem.ECopyOptionItemChoice.XScale_Custom);
  237. if (CopyMagnificationValue.this.changedListener != null) {
  238. CopyMagnificationValue.this.changedListener.onOptionItemChanged(listOptionValue.optionItem);
  239. }
  240. CopyMagnificationValue.this.optionItem.selectValue(Integer.parseInt(CopyMagnificationValue.this.editText.getText().toString()));
  241. if (CopyMagnificationValue.this.changedListener != null) {
  242. CopyMagnificationValue.this.changedListener.onOptionItemChanged(CopyMagnificationValue.this.optionItem);
  243. }
  244. CopyScaleActivity.this.isKeepSimpleAPConnection = true;
  245. CopyMagnificationValue.this.onDismissDialog();
  246. CopyScaleActivity.this.finish();
  247. }
  248. });
  249. builder.setNegativeButton(CopyScaleActivity.this.getString(R.string.str_cancel), new DialogInterface.OnClickListener() {
  250. public void onClick(DialogInterface dialogInterface, int i) {
  251. CopyMagnificationValue.this.onDismissDialog();
  252. }
  253. });
  254. builder.show();
  255. CopyMagnificationValue copyMagnificationValue2 = CopyMagnificationValue.this;
  256. copyMagnificationValue2.setOptionValueChangedListener(CopyScaleActivity.this.optionValueChangedListener);
  257. }
  258. });
  259. }
  260. private void onDismissDialog() {
  261. MotionEvent obtain = MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis() + 10, 1, 0.0f, 0.0f, 0);
  262. this.countDown.dispatchTouchEvent(obtain);
  263. this.countUp.dispatchTouchEvent(obtain);
  264. }
  265. class CountCustomScale extends ActivityBase.NumberOptionValue.Counter {
  266. public CountCustomScale(int i) {
  267. super(i);
  268. }
  269. public void onClick(View view) {
  270. try {
  271. CopyMagnificationValue.this.value = Integer.valueOf(CopyMagnificationValue.this.editText.getText().toString()).intValue();
  272. CopyMagnificationValue.this.value = Math.min(Math.max(CopyMagnificationValue.this.optionItem.getMinimumValue(), CopyMagnificationValue.this.value + this.amount), CopyMagnificationValue.this.optionItem.getMaximumValue());
  273. } catch (NumberFormatException unused) {
  274. }
  275. CopyMagnificationValue.this.editText.setText(String.valueOf(CopyMagnificationValue.this.value));
  276. if (CopyMagnificationValue.this.value >= CopyMagnificationValue.this.optionItem.getMaximumValue()) {
  277. CopyMagnificationValue.this.countUp.setEnabled(false);
  278. } else {
  279. CopyMagnificationValue.this.countUp.setEnabled(true);
  280. }
  281. if (CopyMagnificationValue.this.value <= CopyMagnificationValue.this.optionItem.getMinimumValue()) {
  282. CopyMagnificationValue.this.countDown.setEnabled(false);
  283. } else {
  284. CopyMagnificationValue.this.countDown.setEnabled(true);
  285. }
  286. }
  287. }
  288. }
  289. public void onBackPressed() {
  290. this.isKeepSimpleAPConnection = true;
  291. finish();
  292. }
  293. /* access modifiers changed from: protected */
  294. public void onResume() {
  295. super.onResume();
  296. if (!WiFiDirectManager.isNeedConnect(this, WiFiDirectManager.DEVICE_TYPE_PRINTER)) {
  297. this.isTryConnectSimpleAp = false;
  298. } else if (!this.isTryConnectSimpleAp) {
  299. this.isTryConnectSimpleAp = true;
  300. if (WiFiDirectManager.reconnect(this, WiFiDirectManager.DEVICE_TYPE_PRINTER, -1)) {
  301. this.isKeepSimpleAPConnection = true;
  302. }
  303. }
  304. }
  305. /* access modifiers changed from: protected */
  306. public void onPause() {
  307. super.onPause();
  308. if (!this.isKeepSimpleAPConnection) {
  309. WiFiDirectManager.disconnect(this, WiFiDirectManager.DEVICE_TYPE_PRINTER, ActivityBase.printerIp);
  310. }
  311. }
  312. }