da_funk 3.32.0 → 3.33.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b33827fb8e6019dae3a230de689a73d62065b71fe5d87cde66a5d034e10c8958
4
- data.tar.gz: b88cd578be7d53abc94f00ffe3ff35fe21ecc028b75296c5d7b46391a35a6520
3
+ metadata.gz: a542a7e943d7feecfa0300ca6a42e21a68995b38dd3b0630e56dac4fd8de9c04
4
+ data.tar.gz: 857627718bb9959b86576368d3380e09b5501f387a200e021785a04eb299ba1c
5
5
  SHA512:
6
- metadata.gz: 2f06599b79a0a3a2f098b2d544ef440231289d554737acf02cb7c1fae1a54509f503f6e66c7e90c2936eac9de0cab6aa3d9cdce8e9ebff2960adaf468c973dcb
7
- data.tar.gz: 0d22fb804323266724e6efdf3eb79f075a69674cda33ee6321e3117a91983b9bed246bc2ae3c9408649c2ad20755c7e672b55a7c62502fdf77ff6d9562c9df20
6
+ metadata.gz: 7198fc96b3f58dbda4ef7a5c09f47581586b710f85908a7566d43452105bc7e9cd08228a6f65aa94784c561511d6d311d92e6616c1f00e603913a0b82bfce0c7
7
+ data.tar.gz: 0a356ecb0fef59b610333243e8ed320ef00c5da149fa3b885eaf9bdf92e8a40a20633b5107dcc350b6b4d2847b21b739c8691b5f9fa7211415350f429039babb
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- da_funk (3.32.0)
4
+ da_funk (3.33.0)
5
5
  archive-zip (~> 0.5)
6
6
  bundler
7
7
  cloudwalk_handshake
data/RELEASE_NOTES.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # DaFunk
2
2
 
3
+ ### 3.33.0 - 2021-02-08
4
+
5
+ - Added method Device::IO#get_format_or_touchscreen_action;
6
+ - Added support to images on ParamsDat#download, ParamsDat#update_app and ParamsDat#update_file;
7
+ - Return result of ParamsDat#update_apps call to the caller.
8
+
3
9
  ### 3.32.0 - 2021-01-04
4
10
 
5
11
  - Remapped virtual keyboard to add support to new layout;
@@ -61,38 +61,77 @@ module DaFunk
61
61
  end
62
62
  end
63
63
 
64
- def check_download_error(ret, enable_txt_ui = true)
65
- value = true
64
+ def check_download_error(download_ret, enable_txt_ui = true)
65
+ value = false
66
+
67
+ if download_ret == DaFunk::Transaction::Download::FILE_NOT_CHANGE
68
+ if enable_txt_ui
69
+ I18n.pt(:download_file_is_the_same, :args => [download_ret])
70
+ getc(1000)
71
+ end
72
+ value = true
73
+ elsif download_ret == DaFunk::Transaction::Download::SUCCESS
74
+ if enable_txt_ui
75
+ I18n.pt(:download_success, :args => [download_ret])
76
+ getc(1000)
77
+ end
78
+ value = true
79
+ end
80
+ value
81
+ end
82
+
83
+ def show_download_error(download_ret, enable_txt_ui = true)
66
84
  ui = {}
67
85
 
68
- case ret
86
+ case download_ret
69
87
  when DaFunk::Transaction::Download::SERIAL_NUMBER_NOT_FOUND
88
+ unless enable_txt_ui
89
+ Device::Display.print_bitmap('./shared/config_fail.bmp')
90
+ getc(5000)
91
+ end
70
92
  ui[:i18n] = :download_serial_number_not_found
71
- value = false
93
+ ContextLog.info "[I] Download error, serial number not registered"
72
94
  when DaFunk::Transaction::Download::FILE_NOT_FOUND
95
+ unless enable_txt_ui
96
+ Device::Display.print_bitmap('./shared/config_fail.bmp')
97
+ getc(5000)
98
+ end
73
99
  ui[:i18n] = :download_file_not_found
74
- value = false
75
- when DaFunk::Transaction::Download::FILE_NOT_CHANGE
76
- ui[:i18n] = :download_file_is_the_same
77
- when DaFunk::Transaction::Download::SUCCESS
78
- ui[:i18n] = :download_success
100
+ ContextLog.info "[I] Download error, file not found"
79
101
  when DaFunk::Transaction::Download::COMMUNICATION_ERROR
102
+ unless enable_txt_ui
103
+ Device::Display.print_bitmap('./shared/network_system_error.bmp')
104
+ getc(5000)
105
+ end
80
106
  ui[:i18n] = :download_communication_failure
81
- value = false
107
+ ContextLog.info "[I] Download error, connection problem"
82
108
  when DaFunk::Transaction::Download::MAPREDUCE_RESPONSE_ERROR
109
+ unless enable_txt_ui
110
+ Device::Display.print_bitmap('./shared/config_fail.bmp')
111
+ getc(5000)
112
+ end
83
113
  ui[:i18n] = :download_encoding_error
84
- value = false
114
+ ContextLog.info "[I] Download error, encoding problem"
85
115
  when DaFunk::Transaction::Download::IO_ERROR
116
+ unless enable_txt_ui
117
+ Device::Display.print_bitmap('./shared/config_fail.bmp')
118
+ getc(5000)
119
+ end
86
120
  ui[:i18n] = :download_io_error
87
- value = false
121
+ ContextLog.info "[I] Download error, IO error"
88
122
  else
123
+ unless enable_txt_ui
124
+ Device::Display.print_bitmap('./shared/network_system_error.bmp')
125
+ getc(5000)
126
+ end
89
127
  ui[:i18n] = :download_communication_failure
90
- value = false
128
+ ContextLog.info "[I] Download error, connection problem"
91
129
  end
92
130
 
93
- I18n.pt(ui[:i18n], :args => [ret]) if enable_txt_ui
94
-
95
- value
131
+ if enable_txt_ui
132
+ I18n.pt(ui[:i18n], :args => [download_ret])
133
+ getc(5000)
134
+ end
96
135
  end
97
136
 
98
137
  def try(tries, &block)
@@ -1,6 +1,10 @@
1
1
  module DaFunk
2
2
  class ParamsDat
3
- FILE_NAME = "./main/params.dat"
3
+ FILE_NAME = "./main/params.dat"
4
+ SEARCHING_IMAGE_PATH = './shared/searching_updates_app.bmp'
5
+ UPDATING_IMAGE_PATH = './shared/updating.bmp'
6
+ ATTACH_IMAGE_PATH = './shared/network_conectar_init.bmp'
7
+ CONNECTION_ERROR_IMAGE_PATH = './shared/network_system_error.bmp'
4
8
 
5
9
  include DaFunk::Helper
6
10
 
@@ -117,31 +121,40 @@ module DaFunk
117
121
  end
118
122
 
119
123
  def self.download(enable_txt_ui = true)
124
+ ret = false
125
+ download_ret = false
126
+ Device::Display.print_bitmap(ATTACH_IMAGE_PATH) unless enable_txt_ui
120
127
  if attach(attach_options(enable_txt_ui))
121
128
  parse
122
- ret = try(3) do |attempt|
129
+ try(3) do |attempt|
123
130
  if enable_txt_ui
124
131
  Device::Display.clear
125
132
  I18n.pt(:downloading_content, :args => ["PARAMS", 1, 1])
133
+ getc(100)
126
134
  end
127
- getc(100)
128
- ret = DaFunk::Transaction::Download.request_param_file(FILE_NAME)
129
- unless check_download_error(ret, enable_txt_ui)
130
- getc(2000)
131
- false
132
- else
133
- true
134
- end
135
+ Device::Display.print_bitmap(SEARCHING_IMAGE_PATH) unless enable_txt_ui
136
+ download_ret = DaFunk::Transaction::Download.request_param_file(FILE_NAME)
137
+ ret = check_download_error(download_ret, enable_txt_ui)
135
138
  end
139
+ show_download_error(download_ret, enable_txt_ui) unless ret
136
140
  parse if ret
137
- ret
141
+ else
142
+ unless enable_txt_ui
143
+ Device::Display.print_bitmap(CONNECTION_ERROR_IMAGE_PATH)
144
+ getc(5000)
145
+ end
138
146
  end
147
+ ret
139
148
  end
140
149
 
141
150
  def self.update_apps(force_params = false, force_crc = false, force = false, enable_txt_ui = true)
142
- self.download(enable_txt_ui) if force_params || ! self.valid
151
+ ret = true
152
+ if force_params || ! self.valid
153
+ ret = self.download(enable_txt_ui)
154
+ end
155
+
143
156
  main_updated = nil
144
- if self.valid
157
+ if self.valid && ret
145
158
  apps_to_update = self.outdated_apps(force_crc, force)
146
159
  size_apps = apps_to_update.size
147
160
  apps_to_update.each_with_index do |app, index|
@@ -149,12 +162,15 @@ module DaFunk
149
162
  main_updated ||= (ret && app.main_application?)
150
163
  end
151
164
 
152
- files_to_update = self.outdated_files(force_crc, force)
153
- size_files = files_to_update.size
154
- files_to_update.each_with_index do |file_, index|
155
- self.update_file(file_, index+1, size_files, force_crc || force, enable_txt_ui)
165
+ if ret
166
+ files_to_update = self.outdated_files(force_crc, force)
167
+ size_files = files_to_update.size
168
+ files_to_update.each_with_index do |file_, index|
169
+ ret = self.update_file(file_, index+1, size_files, force_crc || force, enable_txt_ui)
170
+ end
156
171
  end
157
172
  end
173
+ ret
158
174
  ensure
159
175
  self.restart if main_updated
160
176
  end
@@ -199,34 +215,58 @@ module DaFunk
199
215
  end
200
216
 
201
217
  def self.update_app(application, index = 1, all = 1, force = false, enable_txt_ui = true)
218
+ ret = false
219
+ download_ret = false
220
+ Device::Display.print_bitmap(ATTACH_IMAGE_PATH) unless enable_txt_ui
202
221
  if attach(attach_options(enable_txt_ui)) && application
203
222
  try(3) do |attempt|
204
223
  if enable_txt_ui
205
224
  Device::Display.clear
206
225
  I18n.pt(:downloading_content, :args => [I18n.t(:apps), index, all])
226
+ getc(100)
207
227
  end
208
- getc(100)
209
- ret = check_download_error(application.download(force), enable_txt_ui)
210
- getc(1000)
211
- ret
228
+ Device::Display.print_bitmap(UPDATING_IMAGE_PATH) unless enable_txt_ui
229
+ download_ret = application.download(force)
230
+ ret = check_download_error(download_ret, enable_txt_ui)
231
+ end
232
+ show_download_error(download_ret, enable_txt_ui) unless ret
233
+ else
234
+ unless enable_txt_ui
235
+ Device::Display.print_bitmap(CONNECTION_ERROR_IMAGE_PATH)
236
+ getc(5000)
212
237
  end
213
238
  end
239
+ ret
214
240
  end
215
241
 
216
242
  def self.update_file(file_parameter, index = 1, all = 1, force = false, enable_txt_ui = true)
243
+ ret = false
244
+ download_ret = false
245
+ Device::Display.print_bitmap(ATTACH_IMAGE_PATH) unless enable_txt_ui
217
246
  if attach(attach_options(enable_txt_ui)) && file_parameter
218
247
  try(3) do |attempt|
219
248
  if enable_txt_ui
220
249
  Device::Display.clear
221
250
  I18n.pt(:downloading_content, :args => [I18n.t(:files), index, all])
251
+ getc(100)
252
+ end
253
+ Device::Display.print_bitmap(UPDATING_IMAGE_PATH) unless enable_txt_ui
254
+ download_ret = file_parameter.download(force)
255
+ ret = check_download_error(download_ret, enable_txt_ui)
256
+ if ret
257
+ file_parameter.unzip
258
+ getc(1000)
222
259
  end
223
- getc(100)
224
- ret = check_download_error(file_parameter.download(force), enable_txt_ui)
225
- file_parameter.unzip if ret
226
- getc(1000)
227
260
  ret
228
261
  end
262
+ show_download_error(download_ret, enable_txt_ui) unless ret
263
+ else
264
+ unless enable_txt_ui
265
+ Device::Display.print_bitmap(CONNECTION_ERROR_IMAGE_PATH)
266
+ getc(5000)
267
+ end
229
268
  end
269
+ ret
230
270
  end
231
271
 
232
272
  def self.apps
@@ -1,4 +1,4 @@
1
1
  module DaFunk
2
- VERSION="3.32.0"
2
+ VERSION="3.33.0"
3
3
  end
4
4
 
data/lib/device/io.rb CHANGED
@@ -161,6 +161,59 @@ class Device
161
161
  end
162
162
  end
163
163
 
164
+ def self.get_format_or_touchscreen_action(max, touch_map, options = {})
165
+ set_default_format_option(options)
166
+ key = text = options[:value] || ""
167
+ time = Time.now + (options[:timeout] || 30000) / 1000
168
+ ret = {}
169
+ touch_clear
170
+ Device::Display.clear options[:line]
171
+ Device::Display.print_line format(text, options), options[:line], options[:column]
172
+ loop do
173
+ line_x, line_y = getxy_stream(100)
174
+ if line_x && line_y
175
+ ret = parse_touchscreen(touch_map, line_x, line_y)
176
+ break(ret) if ret.include?(:touch_action)
177
+ else
178
+ key = getc(100)
179
+ if key == BACK
180
+ text = text[0..-2]
181
+ Device::Display.clear options[:line]
182
+ Device::Display.print_line format(text, options), options[:line], options[:column]
183
+ elsif options[:timeout_enabled] && time < Time.now
184
+ ret[:timeout] = Device::IO::KEY_TIMEOUT
185
+ break(ret)
186
+ elsif key == ENTER
187
+ ret[:text] = text
188
+ break(ret)
189
+ elsif key == CANCEL
190
+ ret[:cancel] = Device::IO::CANCEL
191
+ break(ret)
192
+ elsif key == F1 || key == DOWN || key == UP || key == ALPHA
193
+ change_next(text, check_mask_type(text, options))
194
+ next
195
+ elsif text.size >= max
196
+ next
197
+ elsif insert_key?(key, options)
198
+ text << key
199
+ Device::Display.clear options[:line]
200
+ Device::Display.print_line format(text, options), options[:line], options[:column]
201
+ end
202
+ end
203
+ end
204
+ end
205
+
206
+ def self.parse_touchscreen(touch_map, line_x, line_y)
207
+ ret = {}
208
+ touch_map.each do |key, value|
209
+ if value[:x].include?(line_x) && value[:y].include?(line_y)
210
+ Device::Audio.beep(7, 60)
211
+ ret[:touch_action] = key
212
+ end
213
+ end
214
+ ret
215
+ end
216
+
164
217
  def self.set_default_format_option(options)
165
218
  options[:mode] ||= IO_INPUT_LETTERS
166
219
  options[:line] ||= 2
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: da_funk
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.32.0
4
+ version: 3.33.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thiago Scalone
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-04 00:00:00.000000000 Z
11
+ date: 2021-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake