189
194
contextAddApplicationActions(actions);
191
196
var firstAddStaticAction = true;
198
function MediaPlayer() {
201
MediaPlayer.prototype = {
202
__exposedProps__: { init: 'r', onPlayPause: 'r', onPrevious: 'r', onNext: 'r',
203
setTrack: 'r', setCanGoNext: 'r', setCanGoPrevious: 'r',
204
setCanPlay: 'r', setCanPause: 'r', setPlaybackState: 'r',
205
getPlaybackState: 'r' },
207
init: createArgumentsSanitaizer(uwa.music_player_init, [{ str: true }]),
209
onPlayPause: createArgumentsSanitaizer(uwa.music_player_on_play_pause_callback,
210
[{ type: Function, allowNull: true }, { dummy: true }]),
212
onPrevious: createArgumentsSanitaizer(uwa.music_player_on_previous_callback,
213
[{ type: Function, allowNull: true }, { dummy: true }]),
215
onNext: createArgumentsSanitaizer(uwa.music_player_on_next_callback,
216
[{ type: Function, allowNull: true }, { dummy: true }]),
218
setTrack: createArgumentsSanitaizer(uwa.music_player_set_track,
219
[{ obj: { artist: { str: true, place: 0, allowNull: true },
220
album: { str: true, place: 1, allowNull: true },
221
title: { str: true, place: 2 },
222
artLocation: { str: true, place: 3, allowNull: true } } }]),
224
setCanGoNext: createArgumentsSanitaizer(uwa.music_player_set_can_go_next, [{ number: true }]),
226
setCanGoPrevious: createArgumentsSanitaizer(uwa.music_player_set_can_go_previous, [{ number: true }]),
228
setCanPlay: createArgumentsSanitaizer(uwa.music_player_set_can_play, [{ number: true }]),
230
setCanPause: createArgumentsSanitaizer(uwa.music_player_set_can_pause, [{ number: true }]),
232
setPlaybackState: createArgumentsSanitaizer(uwa.music_player_set_playback_state, [{ number: true }]),
234
getPlaybackState: createArgumentsSanitaizer(null
235
, [{ type: Function }]
236
, function (context, callback) {
238
callback (uwa.music_player_get_playback_state(context));
242
PlaybackState: {PLAYING: 0, PAUSED:1}
245
function MessagingIndicator() {
248
MessagingIndicator.prototype = {
249
__exposedProps__: { addAction: 'r', showIndicator: 'r',
250
clearIndicator: 'r', clearIndicators: 'r' },
252
addAction: createArgumentsSanitaizer(uwa.indicator_add_action,
253
[{ str: true }, { type: Function, argAsCallbackId: 0 }, { dummy: true }]),
254
showIndicator: function(name, properties) {
255
log('Unity.MessagingIndicator.showIndicator(' + stringifyArgs(arguments) + ')');
257
if (unity.context == null) {return};
259
checkString(name, false);
261
uwa.indicator_show_indicator(unity.context, String(name));
262
for (i in properties) {
264
uwa.indicator_set_property(unity.context, String(name), i, UnityMiscUtils.toISODate(properties[i]));
266
else if (i == "icon") {
267
uwa.indicator_set_property_icon(unity.context, String(name), i, String(properties[i]));
269
else if (i == "callback") {
270
var callback = CallbackManager.makeCallback(uwa.IndicatorCallbackType,
271
(function (propidx) {
272
return function (context, user_data) {
273
(properties[propidx])();
276
'Unity.MessagingIndicator.showIndicator', name);
278
uwa.indicator_set_callback(unity.context, String(name), callback, null);
280
else if (i == "count") {
281
uwa.indicator_set_property(unity.context, String(name), i, String(Number(properties[i])));
284
uwa.indicator_set_property(unity.context, String(name), i, String(properties[i]));
288
clearIndicator: createArgumentsSanitaizer(uwa.indicator_clear_indicator, [{ str: true }]),
289
clearIndicators: createArgumentsSanitaizer(uwa.indicator_clear_indicators, [], function () {CallbackManager.releaseCallback('Unity.MessagingIndicator.showIndicator');})
292
function Launcher() {
294
Launcher.prototype = {
295
__exposedProps__: { 'setCount': 'r', clearCount: 'r',
296
setProgress: 'r', clearProgress: 'r', setUrgent: 'r',
297
addAction: 'r', removeAction: 'r', removeActions: 'r' },
299
setCount: createArgumentsSanitaizer(uwa.launcher_set_count,
301
clearCount: createArgumentsSanitaizer(uwa.launcher_clear_count,
303
setProgress: createArgumentsSanitaizer(uwa.launcher_set_progress,
305
clearProgress: createArgumentsSanitaizer(uwa.launcher_clear_progress,
307
setUrgent: createArgumentsSanitaizer(uwa.launcher_set_urgent,
309
_addAction: createArgumentsSanitaizer(uwa.launcher_add_action,
310
[{ str: true }, { type: Function, argAsCallbackId: 0 }, { dummy: true }]),
311
_addStaticAction: createArgumentsSanitaizer(uwa.launcher_add_static_action,
312
[{ str: true }, { str: true }]),
313
addAction: function (arg1, arg2) {
314
if (typeof(arg2) === 'string') {
315
if (firstAddStaticAction)
316
uwa.launcher_remove_static_actions(unity.context);
317
firstAddStaticAction = false;
318
this._addStaticAction(arg1, arg2);
320
this._addAction(arg1, arg2);
324
removeAction: createArgumentsSanitaizer(uwa.launcher_remove_action,
326
removeActions: createArgumentsSanitaizer(uwa.launcher_remove_actions,
327
[], function () {CallbackManager.releaseCallback('Unity.Launcher.addAction');})
330
function Notification() {
333
Notification.prototype = {
334
__exposedProps__: { 'showNotification': 'r' },
335
showNotification: createArgumentsSanitaizer(uwa.notification_show_notification,
336
[{ str: true }, { str: true }, { str: true, allowNull: true }])
339
var Api = function () {}
341
__exposedProps__: { 'init': 'r', 'acceptData': 'r',
342
'addAction': 'r', 'clearAction': 'r',
343
'clearActions': 'r', 'toDataURL': 'r',
344
'MediaPlayer': 'r', 'Notification': 'r',
345
'Launcher': 'r', 'MessagingIndicator': 'r' },
347
Notification: new Notification(),
348
Launcher: new Launcher(),
349
MessagingIndicator: new MessagingIndicator(),
350
MediaPlayer: new MediaPlayer(),
193
352
init: function(props) {
194
353
checkString(props.name, false);
195
354
checkString(props.iconUrl, true);
224
383
CallbackManager.releaseCallback('Unity.addAction');
228
init: createArgumentsSanitaizer(uwa.music_player_init, [{ str: true }]),
230
onPlayPause: createArgumentsSanitaizer(uwa.music_player_on_play_pause_callback,
231
[{ type: Function, allowNull: true }, { dummy: true }]),
233
onPrevious: createArgumentsSanitaizer(uwa.music_player_on_previous_callback,
234
[{ type: Function, allowNull: true }, { dummy: true }]),
236
onNext: createArgumentsSanitaizer(uwa.music_player_on_next_callback,
237
[{ type: Function, allowNull: true }, { dummy: true }]),
239
setTrack: createArgumentsSanitaizer(uwa.music_player_set_track,
240
[{ obj: { artist: { str: true, place: 0, allowNull: true },
241
album: { str: true, place: 1, allowNull: true },
242
title: { str: true, place: 2 },
243
artLocation: { str: true, place: 3, allowNull: true } } }]),
245
setCanGoNext: createArgumentsSanitaizer(uwa.music_player_set_can_go_next, [{ number: true }]),
247
setCanGoPrevious: createArgumentsSanitaizer(uwa.music_player_set_can_go_previous, [{ number: true }]),
249
setCanPlay: createArgumentsSanitaizer(uwa.music_player_set_can_play, [{ number: true }]),
251
setCanPause: createArgumentsSanitaizer(uwa.music_player_set_can_pause, [{ number: true }]),
253
setPlaybackState: createArgumentsSanitaizer(uwa.music_player_set_playback_state, [{ number: true }]),
255
getPlaybackState: createArgumentsSanitaizer(null
256
, [{ type: Function }]
257
, function (context, callback) {
259
callback (uwa.music_player_get_playback_state(context));
263
PlaybackState: {PLAYING: 0, PAUSED:1}
267
showNotification: createArgumentsSanitaizer(uwa.notification_show_notification,
268
[{ str: true }, { str: true }, { str: true, allowNull: true }])
272
setCount: createArgumentsSanitaizer(uwa.launcher_set_count,
274
clearCount: createArgumentsSanitaizer(uwa.launcher_clear_count,
276
setProgress: createArgumentsSanitaizer(uwa.launcher_set_progress,
278
clearProgress: createArgumentsSanitaizer(uwa.launcher_clear_progress,
280
setUrgent: createArgumentsSanitaizer(uwa.launcher_set_urgent,
282
_addAction: createArgumentsSanitaizer(uwa.launcher_add_action,
283
[{ str: true }, { type: Function, argAsCallbackId: 0 }, { dummy: true }]),
284
_addStaticAction: createArgumentsSanitaizer(uwa.launcher_add_static_action,
285
[{ str: true }, { str: true }]),
286
addAction: function (arg1, arg2) {
287
if (typeof(arg2) === 'string') {
288
if (firstAddStaticAction)
289
uwa.launcher_remove_static_actions(unity.context);
290
firstAddStaticAction = false;
291
this._addStaticAction(arg1, arg2);
293
this._addAction(arg1, arg2);
297
removeAction: createArgumentsSanitaizer(uwa.launcher_remove_action,
299
removeActions: createArgumentsSanitaizer(uwa.launcher_remove_actions,
300
[], function () {CallbackManager.releaseCallback('Unity.Launcher.addAction');})
303
MessagingIndicator: {
304
addAction: createArgumentsSanitaizer(uwa.indicator_add_action,
305
[{ str: true }, { type: Function, argAsCallbackId: 0 }, { dummy: true }]),
306
showIndicator: function(name, properties) {
307
log('Unity.MessagingIndicator.showIndicator(' + stringifyArgs(arguments) + ')');
309
if (unity.context == null) {return};
311
checkString(name, false);
313
uwa.indicator_show_indicator(unity.context, String(name));
314
for (i in properties) {
316
uwa.indicator_set_property(unity.context, String(name), i, UnityMiscUtils.toISODate(properties[i]));
318
else if (i == "icon") {
319
uwa.indicator_set_property_icon(unity.context, String(name), i, String(properties[i]));
321
else if (i == "callback") {
322
var callback = CallbackManager.makeCallback(uwa.IndicatorCallbackType,
323
(function (propidx) {
324
return function (context, user_data) {
325
(properties[propidx])();
328
'Unity.MessagingIndicator.showIndicator', name);
330
uwa.indicator_set_callback(unity.context, String(name), callback, null);
332
else if (i == "count") {
333
uwa.indicator_set_property(unity.context, String(name), i, String(Number(properties[i])));
336
uwa.indicator_set_property(unity.context, String(name), i, String(properties[i]));
340
clearIndicator: createArgumentsSanitaizer(uwa.indicator_clear_indicator, [{ str: true }]),
341
clearIndicators: createArgumentsSanitaizer(uwa.indicator_clear_indicators, [], function () {CallbackManager.releaseCallback('Unity.MessagingIndicator.showIndicator');})
344
386
toDataURL: function (uri, callback, sx, sy, sw, sh) {
345
387
toDataURL(uri, callback, sx, sy, sw, sh);