@nstudio/nativescript-loading-indicator 3.0.4 → 4.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,547 @@
1
+ import { Application, Color, Frame, ImageSource, Screen } from '@nativescript/core';
2
+ import { Mode } from './common';
3
+ export * from './common';
4
+ const R_ATTR_PROGRESS_BAR_STYLE_HORIZONTAL = 0x01010078;
5
+ const PACKAGE = 'com.github.triniwiz.ns.loading.indicator';
6
+ const ViewCompatNamespace = useAndroidX() ? androidx.core.view : android.support.v4.view;
7
+ function useAndroidX() {
8
+ return global.androidx && global.androidx.core.view;
9
+ }
10
+ const HIDE_RETRY_MS = 100;
11
+ export class LoadingIndicator {
12
+ constructor() {
13
+ this._defaultProgressColor = new Color('#007DD6');
14
+ this._progressId = android.view.View.generateViewId();
15
+ this._messageId = android.view.View.generateViewId();
16
+ this._detailsId = android.view.View.generateViewId();
17
+ this._customViewId = android.view.View.generateViewId();
18
+ this._loadersInstances = [];
19
+ this._isCreatingPopOver = false;
20
+ }
21
+ show(options) {
22
+ const context = Application.android.foregroundActivity || Application.android.startActivity;
23
+ if (context) {
24
+ options = options || {};
25
+ options.android = options.android || {};
26
+ options.userInteractionEnabled = options.userInteractionEnabled !== undefined;
27
+ if (!this._popOver) {
28
+ this._isCreatingPopOver = true;
29
+ new Promise((resolve) => {
30
+ this._createPopOver(context, options);
31
+ this._loadersInstances.push(this._popOver);
32
+ resolve();
33
+ })
34
+ .then(() => {
35
+ this._isCreatingPopOver = false;
36
+ })
37
+ .catch((error) => {
38
+ // Ensure this is left in a clean state.
39
+ this._isCreatingPopOver = false;
40
+ const message = error && error.message ? `: ${error.message}` : '';
41
+ console.error(`Error creating Loading Indicator Pop Over${message}`);
42
+ });
43
+ return;
44
+ }
45
+ this._updatePopOver(context, options);
46
+ }
47
+ }
48
+ hide(targetView, attemptTimeout = 1000) {
49
+ if (this._isCreatingPopOver) {
50
+ this._waitForCreatePopOver(attemptTimeout);
51
+ return;
52
+ }
53
+ this._tryHide();
54
+ }
55
+ _tryHide() {
56
+ try {
57
+ for (let i = 0; i < this._loadersInstances.length; i++) {
58
+ const loader = this._loadersInstances[i];
59
+ if (loader) {
60
+ if (this._isShowing(loader)) {
61
+ loader.dismiss();
62
+ this._loadersInstances.splice(i, 1);
63
+ }
64
+ }
65
+ }
66
+ this._popOver = null;
67
+ this._currentProgressColor = null;
68
+ }
69
+ catch (e) {
70
+ console.log(e);
71
+ }
72
+ }
73
+ _waitForCreatePopOver(attemptTimeout) {
74
+ const startTime = Date.now();
75
+ const awaitCreation = async () => {
76
+ if (!this._isCreatingPopOver) {
77
+ return this._tryHide();
78
+ }
79
+ if (Date.now() > startTime + attemptTimeout) {
80
+ console.warn('Hide attempt timeout exceeded');
81
+ return;
82
+ }
83
+ await new Promise((resolve) => setTimeout(resolve, HIDE_RETRY_MS));
84
+ return awaitCreation();
85
+ };
86
+ return awaitCreation();
87
+ }
88
+ _isShowing(loader) {
89
+ return loader.isShowing();
90
+ }
91
+ _createPopOver(context, options) {
92
+ this._popOver = new android.widget.PopupWindow();
93
+ const ref = new WeakRef(this);
94
+ this._popOver.setTouchable(options.userInteractionEnabled);
95
+ const contentView = new android.widget.LinearLayout(context);
96
+ const defaultTextColor = new Color(options.color || '#000');
97
+ const defaultTextNativeColor = defaultTextColor.android ? defaultTextColor.android : android.graphics.Color.BLACK;
98
+ const defaultDetailsNativeColor = new Color(255 * 0.8, defaultTextColor.r, defaultTextColor.g, defaultTextColor.b).android;
99
+ contentView.setOnTouchListener(new android.view.View.OnTouchListener({
100
+ onTouch(view, event) {
101
+ const cancelListener = options.android.cancelListener;
102
+ const cancelable = options.android.cancelable;
103
+ const owner = ref.get();
104
+ if (cancelListener && typeof cancelListener === 'function') {
105
+ if (owner && cancelable) {
106
+ owner._popOver.dismiss();
107
+ cancelListener(owner._popOver);
108
+ owner._popOver = null;
109
+ }
110
+ }
111
+ return true;
112
+ },
113
+ }));
114
+ const defaultBackgroundColor = android.graphics.Color.WHITE;
115
+ // handle dimming background option
116
+ contentView.setBackgroundColor(options.dimBackground ? new Color(255 * 0.6, 0, 0, 0).android : android.graphics.Color.TRANSPARENT);
117
+ contentView.setGravity(android.view.Gravity.CENTER);
118
+ contentView.setLayoutParams(new android.view.ViewGroup.LayoutParams(android.view.ViewGroup.LayoutParams.FILL_PARENT, android.view.ViewGroup.LayoutParams.FILL_PARENT));
119
+ const parentView = new android.widget.LinearLayout(context);
120
+ parentView.setOnTouchListener(new android.view.View.OnTouchListener({
121
+ onTouch(view, event) {
122
+ return true;
123
+ },
124
+ }));
125
+ // Use the ViewCompatNamespace to properly map to `ViewCompat` for AndroidX and support lib versions to avoid breaking change
126
+ ViewCompatNamespace.ViewCompat.setElevation(parentView, 9.0);
127
+ const params = parentView.getLayoutParams();
128
+ const parentViewParams = params ? params : new android.widget.LinearLayout.LayoutParams(android.view.ViewGroup.LayoutParams.WRAP_CONTENT, android.view.ViewGroup.LayoutParams.WRAP_CONTENT);
129
+ const defaultPadding = 10 * Screen.mainScreen.scale;
130
+ parentView.setPadding(defaultPadding, defaultPadding, defaultPadding, defaultPadding);
131
+ // handle margin option
132
+ if (options.margin !== undefined) {
133
+ const margin = options.margin * Screen.mainScreen.scale;
134
+ parentViewParams.setMargins(margin, margin, margin, margin);
135
+ }
136
+ parentView.setLayoutParams(parentViewParams);
137
+ const backgroundColor = options.backgroundColor ? new Color(options.backgroundColor).android : defaultBackgroundColor;
138
+ // handle hideBezel option
139
+ if (options.hideBezel) {
140
+ parentView.setBackgroundColor(android.graphics.Color.TRANSPARENT);
141
+ }
142
+ else {
143
+ const border = new android.graphics.drawable.ShapeDrawable();
144
+ border.getPaint().setColor(backgroundColor);
145
+ const cornerRadiusValue = 8;
146
+ const cornerRadius = Array.create('float', 8);
147
+ cornerRadius[0] = cornerRadiusValue;
148
+ cornerRadius[1] = cornerRadiusValue;
149
+ cornerRadius[2] = cornerRadiusValue;
150
+ cornerRadius[3] = cornerRadiusValue;
151
+ cornerRadius[4] = cornerRadiusValue;
152
+ cornerRadius[5] = cornerRadiusValue;
153
+ cornerRadius[6] = cornerRadiusValue;
154
+ cornerRadius[7] = cornerRadiusValue;
155
+ const shape = new android.graphics.drawable.shapes.RoundRectShape(cornerRadius, null, null);
156
+ border.setShape(shape);
157
+ parentView.setBackgroundDrawable(border);
158
+ }
159
+ parentView.setGravity(android.view.Gravity.CENTER);
160
+ parentView.setOrientation(android.widget.LinearLayout.VERTICAL);
161
+ let progressView;
162
+ const customOrText = options.mode === Mode.CustomView || options.mode === Mode.Text;
163
+ if (!customOrText) {
164
+ const determinate = options.progress !== undefined || options.mode === Mode.Determinate || options.mode === Mode.DeterminateHorizontalBar || options.mode === Mode.AnnularDeterminate;
165
+ if (determinate) {
166
+ progressView = new android.widget.ProgressBar(context, null, R_ATTR_PROGRESS_BAR_STYLE_HORIZONTAL);
167
+ }
168
+ else {
169
+ progressView = new android.widget.ProgressBar(context);
170
+ }
171
+ progressView.setId(this._progressId);
172
+ parentView.addView(progressView);
173
+ }
174
+ // handle customView option
175
+ if (options.mode === Mode.CustomView) {
176
+ if (options.customView) {
177
+ const customView = this._createCustomView(context, options);
178
+ if (customView) {
179
+ parentView.addView(customView);
180
+ }
181
+ }
182
+ }
183
+ if (options.message) {
184
+ const messageView = new android.widget.TextView(context);
185
+ messageView.setText(options.message);
186
+ messageView.setId(this._messageId);
187
+ if (options.color) {
188
+ messageView.setTextColor(defaultTextNativeColor);
189
+ }
190
+ messageView.setLayoutParams(new android.widget.LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT));
191
+ parentView.addView(messageView);
192
+ }
193
+ // handle details message text
194
+ if (options.details) {
195
+ const detailsView = new android.widget.TextView(context);
196
+ detailsView.setText(options.details);
197
+ detailsView.setId(this._detailsId);
198
+ detailsView.setTextColor(defaultDetailsNativeColor);
199
+ detailsView.setLayoutParams(new android.widget.LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT));
200
+ parentView.addView(detailsView);
201
+ }
202
+ switch (options.mode) {
203
+ case Mode.CustomView:
204
+ break;
205
+ case Mode.AnnularDeterminate:
206
+ if (!this._progressDrawable) {
207
+ this._progressDrawable = this._getProgressDrawable();
208
+ }
209
+ if (!this._backgroundDrawable) {
210
+ this._backgroundDrawable = this._getBackgroundDrawable();
211
+ }
212
+ progressView.setIndeterminate(false);
213
+ progressView.setMax(100);
214
+ progressView.setProgress(0);
215
+ if (this._progressDrawable) {
216
+ progressView.setProgressDrawable(this._progressDrawable);
217
+ }
218
+ if (this._backgroundDrawable) {
219
+ progressView.setBackgroundDrawable(this._backgroundDrawable);
220
+ }
221
+ progressView.setLayoutParams(new android.widget.LinearLayout.LayoutParams(60 * Screen.mainScreen.scale, 60 * Screen.mainScreen.scale));
222
+ break;
223
+ case Mode.Determinate:
224
+ if (!this._backgroundDrawable) {
225
+ this._backgroundDrawable = this._getBackgroundDrawable();
226
+ }
227
+ if (!this._progressDrawableThick) {
228
+ this._progressDrawableThick = this._getProgressDrawableThick();
229
+ }
230
+ progressView.setIndeterminate(false);
231
+ progressView.setMax(100);
232
+ progressView.setProgress(0);
233
+ if (this._progressDrawableThick) {
234
+ progressView.setProgressDrawable(this._progressDrawableThick);
235
+ }
236
+ if (this._backgroundDrawable) {
237
+ progressView.setBackgroundDrawable(this._backgroundDrawable);
238
+ }
239
+ progressView.setLayoutParams(new android.widget.LinearLayout.LayoutParams(60 * Screen.mainScreen.scale, 60 * Screen.mainScreen.scale));
240
+ break;
241
+ case Mode.DeterminateHorizontalBar:
242
+ progressView.setIndeterminate(false);
243
+ progressView.setMax(100);
244
+ progressView.setProgress(0);
245
+ break;
246
+ case Mode.Text:
247
+ break;
248
+ case Mode.Indeterminate:
249
+ progressView.setIndeterminate(true);
250
+ break;
251
+ default:
252
+ progressView.setIndeterminate(options.progress !== undefined ? false : true);
253
+ break;
254
+ }
255
+ if (options.progress !== undefined || options.mode === Mode.Determinate || options.mode === Mode.AnnularDeterminate || options.mode === Mode.DeterminateHorizontalBar || options.mode === Mode.Indeterminate || !options.mode) {
256
+ if (options.color) {
257
+ this._setColor(options.color, progressView);
258
+ this._currentProgressColor = new Color(options.color);
259
+ }
260
+ // handle background color
261
+ if (options.backgroundColor) {
262
+ this._setBackgroundColor(options.backgroundColor, progressView);
263
+ }
264
+ }
265
+ contentView.addView(parentView);
266
+ this._popOver.setContentView(contentView);
267
+ // handle anchoring target view
268
+ if (options.android && options.android.view) {
269
+ const nativeView = options.android.view;
270
+ this._popOver.setWidth(nativeView.getWidth());
271
+ this._popOver.setHeight(nativeView.getHeight());
272
+ this._popOver.showAtLocation(nativeView, android.view.Gravity.CENTER, 0, 0);
273
+ }
274
+ else if (Frame.topmost() && (Frame.topmost().android || (Frame.topmost().currentPage && Frame.topmost().currentPage.android))) {
275
+ const view = Frame.topmost().android.rootViewGroup || Frame.topmost().currentPage.android;
276
+ this._popOver.setWidth(Screen.mainScreen.widthPixels);
277
+ this._popOver.setHeight(Screen.mainScreen.heightPixels);
278
+ this._popOver.showAtLocation(view, android.view.Gravity.CENTER, 0, 0);
279
+ }
280
+ }
281
+ _updatePopOver(context, options) {
282
+ const contentView = this._popOver.getContentView();
283
+ const parentView = contentView.getChildAt(0);
284
+ let count = parentView.getChildCount();
285
+ const defaultTextColor = new Color(options.color || 'black');
286
+ const defaultTextNativeColor = defaultTextColor.android ? defaultTextColor.android : android.graphics.Color.BLACK;
287
+ const defaultDetailsNativeColor = new Color(255 * 0.8, defaultTextColor.r, defaultTextColor.g, defaultTextColor.b).android;
288
+ if (options.mode === Mode.Text) {
289
+ const progressView = parentView.getChildAt(0);
290
+ if (progressView) {
291
+ const progressViewId = progressView.getId();
292
+ if (progressViewId === this._progressId) {
293
+ parentView.removeView(progressView);
294
+ count = parentView.getChildCount();
295
+ }
296
+ }
297
+ }
298
+ if (options.mode === Mode.CustomView) {
299
+ for (let i = 0; i < count; i++) {
300
+ const view = parentView.getChildAt(i);
301
+ parentView.removeView(view);
302
+ }
303
+ const customView = this._createCustomView(context, options);
304
+ if (customView) {
305
+ parentView.addView(customView);
306
+ }
307
+ count = parentView.getChildCount();
308
+ }
309
+ if (options.progress && options.mode !== Mode.Text && options.mode !== Mode.CustomView) {
310
+ let progressView = parentView.getChildAt(0);
311
+ if (progressView) {
312
+ const progressViewId = progressView.getId();
313
+ if (progressView instanceof android.widget.ProgressBar && progressViewId === this._progressId && progressView.isIndeterminate()) {
314
+ parentView.removeView(progressView);
315
+ progressView = this._createDeterminateProgressView(context);
316
+ parentView.addView(progressView, 0);
317
+ }
318
+ if (!(progressView instanceof android.widget.ProgressBar)) {
319
+ progressView = this._createDeterminateProgressView(context);
320
+ parentView.addView(progressView, 0);
321
+ }
322
+ count = parentView.getChildCount();
323
+ if (options.color) {
324
+ this._setColor(options.color, progressView);
325
+ this._currentProgressColor = new Color(options.color);
326
+ }
327
+ // handle background color
328
+ if (options.backgroundColor) {
329
+ this._setBackgroundColor(options.backgroundColor, progressView);
330
+ }
331
+ progressView.setProgress(options.progress * 100);
332
+ }
333
+ }
334
+ if (!options.progress && options.mode !== Mode.Text && options.mode !== Mode.CustomView && options.mode === Mode.Indeterminate) {
335
+ /**
336
+ * Get the existing indicator if it exists, assess whether or not the
337
+ * acquired child is the correct class.
338
+ */
339
+ let progressView = parentView.getChildAt(0);
340
+ if (progressView instanceof android.widget.ProgressBar === false || progressView === undefined) {
341
+ progressView = new android.widget.ProgressBar(context);
342
+ }
343
+ if (options.color) {
344
+ this._setColor(options.color, progressView);
345
+ this._currentProgressColor = new Color(options.color);
346
+ }
347
+ // handle background color
348
+ if (options.backgroundColor) {
349
+ this._setBackgroundColor(options.backgroundColor, progressView);
350
+ }
351
+ count = parentView.getChildCount();
352
+ }
353
+ if (options.message) {
354
+ let messageView;
355
+ let view;
356
+ const firstView = parentView.getChildAt(0);
357
+ switch (count) {
358
+ case 1:
359
+ if (firstView) {
360
+ if (firstView.getId() === this._messageId) {
361
+ firstView.setTextColor(defaultTextNativeColor);
362
+ firstView.setText(options.message);
363
+ }
364
+ else {
365
+ messageView = new android.widget.TextView(context);
366
+ messageView.setId(this._messageId);
367
+ messageView.setText(options.message);
368
+ messageView.setTextColor(defaultTextNativeColor);
369
+ messageView.setLayoutParams(new android.widget.LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT));
370
+ parentView.addView(messageView);
371
+ }
372
+ }
373
+ break;
374
+ case 2:
375
+ view = parentView.getChildAt(1);
376
+ const viewId = view.getId();
377
+ if (viewId === this._messageId) {
378
+ if (view) {
379
+ view.setText(options.message);
380
+ view.setTextColor(defaultTextNativeColor);
381
+ }
382
+ }
383
+ else if (viewId === this._detailsId) {
384
+ messageView = new android.widget.TextView(context);
385
+ messageView.setId(this._messageId);
386
+ messageView.setText(options.message);
387
+ messageView.setTextColor(defaultTextNativeColor);
388
+ messageView.setLayoutParams(new android.widget.LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT));
389
+ parentView.addView(messageView, 1);
390
+ }
391
+ break;
392
+ case 3:
393
+ view = parentView.getChildAt(2);
394
+ if (view) {
395
+ view.setTextColor(defaultTextNativeColor);
396
+ view.setText(options.message);
397
+ }
398
+ break;
399
+ default:
400
+ break;
401
+ }
402
+ count = parentView.getChildCount();
403
+ }
404
+ // handle details message text
405
+ if (options.details) {
406
+ let detailsView;
407
+ switch (count) {
408
+ case 1:
409
+ const firstView = parentView.getChildAt(0);
410
+ if (firstView === this._detailsId) {
411
+ if (firstView) {
412
+ firstView.setTextColor(defaultDetailsNativeColor);
413
+ firstView.setText(options.details);
414
+ }
415
+ }
416
+ else {
417
+ detailsView = new android.widget.TextView(context);
418
+ detailsView.setId(this._detailsId);
419
+ detailsView.setTextColor(defaultDetailsNativeColor);
420
+ detailsView.setText(options.details);
421
+ detailsView.setLayoutParams(new android.widget.LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT));
422
+ parentView.addView(detailsView);
423
+ }
424
+ break;
425
+ case 2:
426
+ detailsView = parentView.getChildAt(1);
427
+ if (detailsView) {
428
+ const detailsViewId = detailsView.getId();
429
+ if (detailsViewId === this._detailsId) {
430
+ detailsView.setTextColor(defaultDetailsNativeColor);
431
+ detailsView.setText(options.details);
432
+ }
433
+ else if (detailsViewId === this._messageId) {
434
+ detailsView = new android.widget.TextView(context);
435
+ detailsView.setId(this._detailsId);
436
+ detailsView.setTextColor(defaultDetailsNativeColor);
437
+ detailsView.setText(options.details);
438
+ detailsView.setLayoutParams(new android.widget.LinearLayout.LayoutParams(android.widget.LinearLayout.LayoutParams.WRAP_CONTENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT));
439
+ parentView.addView(detailsView, 2);
440
+ }
441
+ }
442
+ break;
443
+ case 3:
444
+ detailsView = parentView.getChildAt(2);
445
+ if (detailsView) {
446
+ detailsView.setTextColor(defaultDetailsNativeColor);
447
+ detailsView.setText(options.details);
448
+ }
449
+ break;
450
+ default:
451
+ break;
452
+ }
453
+ }
454
+ this._popOver.update();
455
+ }
456
+ _createCustomView(context, options) {
457
+ let customView;
458
+ if (options.customView instanceof android.graphics.Bitmap) {
459
+ customView = new android.widget.ImageView(context);
460
+ customView.setImageBitmap(options.customView);
461
+ }
462
+ else if (options.customView instanceof android.view.View) {
463
+ customView = options.customView;
464
+ }
465
+ else if (typeof options.customView === 'string') {
466
+ customView = new android.widget.ImageView(context);
467
+ const fileName = options.customView.replace('.jpg', '').replace('.png', '').replace('.jpeg', '');
468
+ const image = ImageSource.fromFileOrResourceSync('res://' + fileName);
469
+ if (image && image.android) {
470
+ customView.setImageBitmap(image.android);
471
+ }
472
+ }
473
+ if (customView) {
474
+ customView.setId(this._customViewId);
475
+ }
476
+ return customView;
477
+ }
478
+ _createDeterminateProgressView(context) {
479
+ const progressView = new android.widget.ProgressBar(context, null, R_ATTR_PROGRESS_BAR_STYLE_HORIZONTAL);
480
+ progressView.setId(this._progressId);
481
+ progressView.setMax(100);
482
+ progressView.setProgress(0);
483
+ if (!this._progressDrawable) {
484
+ this._progressDrawable = this._getProgressDrawable();
485
+ }
486
+ if (this._progressDrawable) {
487
+ progressView.setProgressDrawable(this._progressDrawable);
488
+ }
489
+ if (!this._backgroundDrawable) {
490
+ this._backgroundDrawable = this._getBackgroundDrawable();
491
+ }
492
+ if (this._backgroundDrawable) {
493
+ progressView.setBackgroundDrawable(this._backgroundDrawable);
494
+ }
495
+ progressView.setLayoutParams(new android.widget.LinearLayout.LayoutParams(60 * Screen.mainScreen.scale, 60 * Screen.mainScreen.scale));
496
+ return progressView;
497
+ }
498
+ _setBackgroundColor(color, view) {
499
+ const progressDrawable = view.getProgressDrawable();
500
+ const indeterminateDrawable = view.getIndeterminateDrawable();
501
+ if (progressDrawable instanceof android.graphics.drawable.LayerDrawable && progressDrawable.getNumberOfLayers() > 0) {
502
+ const backgroundDrawable = progressDrawable.getDrawable(0);
503
+ if (backgroundDrawable) {
504
+ backgroundDrawable.setColorFilter(new Color(color).android, android.graphics.PorterDuff.Mode.SRC_IN);
505
+ }
506
+ }
507
+ if (indeterminateDrawable instanceof android.graphics.drawable.LayerDrawable && indeterminateDrawable.getNumberOfLayers() > 0) {
508
+ const backgroundDrawable = indeterminateDrawable.getDrawable(0);
509
+ if (backgroundDrawable) {
510
+ backgroundDrawable.setColorFilter(new Color(color).android, android.graphics.PorterDuff.Mode.SRC_IN);
511
+ }
512
+ }
513
+ }
514
+ _setColor(color, view) {
515
+ const progressDrawable = view.getProgressDrawable();
516
+ const indeterminateDrawable = view.getIndeterminateDrawable();
517
+ if (progressDrawable) {
518
+ progressDrawable.setColorFilter(new Color(color).android, android.graphics.PorterDuff.Mode.SRC_IN);
519
+ }
520
+ if (indeterminateDrawable) {
521
+ indeterminateDrawable.setColorFilter(new Color(color).android, android.graphics.PorterDuff.Mode.SRC_IN);
522
+ }
523
+ }
524
+ _getResources() {
525
+ const ctx = Application.android.foregroundActivity;
526
+ return ctx.getResources();
527
+ }
528
+ _getBackgroundDrawable() {
529
+ if (com.github.triniwiz.ns.loading.indicator.R) {
530
+ return this._getResources().getDrawable(com.github.triniwiz.ns.loading.indicator.R.drawable.circle_shape);
531
+ }
532
+ return null;
533
+ }
534
+ _getProgressDrawable() {
535
+ if (com.github.triniwiz.ns.loading.indicator.R) {
536
+ return this._getResources().getDrawable(com.github.triniwiz.ns.loading.indicator.R.drawable.circular_progress_bar);
537
+ }
538
+ return null;
539
+ }
540
+ _getProgressDrawableThick() {
541
+ if (com.github.triniwiz.ns.loading.indicator.R) {
542
+ return this._getResources().getDrawable(com.github.triniwiz.ns.loading.indicator.R.drawable.circular_progress_bar_thick);
543
+ }
544
+ return null;
545
+ }
546
+ }
547
+ //# sourceMappingURL=index.android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../packages/nativescript-loading-indicator/index.android.ts"],"names":[],"mappings":"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"}