commit
						3693121c86
					
				| @ -129,7 +129,7 @@ | ||||
|     <plugin name="cordova-plugin-globalization" spec="^1.11.0" /> | ||||
|     <plugin name="cordova-plugin-inappbrowser" spec="^3.0.0" /> | ||||
|     <plugin name="cordova-plugin-ionic-keyboard" spec="^2.1.3" /> | ||||
|     <plugin name="cordova-plugin-local-notification" spec="0.9.0-beta.3" /> | ||||
|     <plugin name="cordova-plugin-local-notification" spec="https://github.com/moodlemobile/cordova-plugin-local-notifications.git#moodle" /> | ||||
|     <plugin name="cordova-plugin-media-capture" spec="^3.0.2" /> | ||||
|     <plugin name="cordova-plugin-network-information" spec="^2.0.1" /> | ||||
|     <plugin name="cordova-plugin-screen-orientation" spec="^3.0.1" /> | ||||
| @ -139,7 +139,7 @@ | ||||
|     <plugin name="cordova-plugin-zip" spec="^3.1.0" /> | ||||
|     <plugin name="cordova-sqlite-storage" spec="^2.6.0" /> | ||||
|     <plugin name="nl.kingsquare.cordova.background-audio" spec="^1.0.1" /> | ||||
|     <plugin name="phonegap-plugin-push" spec="https://github.com/moodlemobile/phonegap-plugin-push.git#moodle-v2"> | ||||
|     <plugin name="phonegap-plugin-push" spec="https://github.com/moodlemobile/phonegap-plugin-push.git#moodle-v3"> | ||||
|         <variable name="ANDROID_SUPPORT_V13_VERSION" value="27.+" /> | ||||
|         <variable name="FCM_VERSION" value="17.0.+" /> | ||||
|     </plugin> | ||||
|  | ||||
							
								
								
									
										13
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										13
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -3173,9 +3173,8 @@ | ||||
|       "integrity": "sha512-6ucQ6FdlLdBm8kJfFnzozmBTjru/0xekHP/dAhjoCZggkGRlgs8TsUJFkxa/bV+qi7Dlo50JjmpE4UMWAO+aOQ==" | ||||
|     }, | ||||
|     "cordova-plugin-local-notification": { | ||||
|       "version": "0.9.0-beta.3", | ||||
|       "resolved": "https://registry.npmjs.org/cordova-plugin-local-notification/-/cordova-plugin-local-notification-0.9.0-beta.3.tgz", | ||||
|       "integrity": "sha512-L3Z1velxrkm9nHFcvLnMgBPZjKFt6hwM6hn1lA+JFwIR26Yw6UF72z+/lRMBclAcOxBIDYCqeaLgvezmajjuEg==" | ||||
|       "version": "git+https://github.com/moodlemobile/cordova-plugin-local-notifications.git#5b2f3073a1c1fb39cad3566be792445c343db2c6", | ||||
|       "from": "git+https://github.com/moodlemobile/cordova-plugin-local-notifications.git#moodle" | ||||
|     }, | ||||
|     "cordova-plugin-media-capture": { | ||||
|       "version": "3.0.2", | ||||
| @ -3600,7 +3599,7 @@ | ||||
|         }, | ||||
|         "readable-stream": { | ||||
|           "version": "1.1.14", | ||||
|           "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", | ||||
|           "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", | ||||
|           "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
| @ -5972,7 +5971,7 @@ | ||||
|         }, | ||||
|         "chalk": { | ||||
|           "version": "1.1.3", | ||||
|           "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", | ||||
|           "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", | ||||
|           "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", | ||||
|           "dev": true, | ||||
|           "requires": { | ||||
| @ -8575,8 +8574,8 @@ | ||||
|       "integrity": "sha512-1wvc3iQOQpEBaQbXgLxA2JUiLSQ2azdF/bF29ghXDiQJWSpQ1BF8gSuqttM8WZoj081Ps8OKL0gYxdDBkFNPqA==" | ||||
|     }, | ||||
|     "phonegap-plugin-push": { | ||||
|       "version": "git+https://github.com/moodlemobile/phonegap-plugin-push.git#b2fb84bab47d2a86e934893394d8667eec82f0e8", | ||||
|       "from": "git+https://github.com/moodlemobile/phonegap-plugin-push.git#moodle-v2", | ||||
|       "version": "git+https://github.com/moodlemobile/phonegap-plugin-push.git#cf8101e86adb774ae1d7ad6b65fb9d8802673f4b", | ||||
|       "from": "git+https://github.com/moodlemobile/phonegap-plugin-push.git#moodle-v3", | ||||
|       "requires": { | ||||
|         "babel-plugin-add-header-comment": "^1.0.3", | ||||
|         "install": "^0.8.2" | ||||
|  | ||||
| @ -93,7 +93,7 @@ | ||||
|     "cordova-plugin-globalization": "^1.11.0", | ||||
|     "cordova-plugin-inappbrowser": "^3.0.0", | ||||
|     "cordova-plugin-ionic-keyboard": "^2.1.3", | ||||
|     "cordova-plugin-local-notification": "0.9.0-beta.3", | ||||
|     "cordova-plugin-local-notification": "git+https://github.com/moodlemobile/cordova-plugin-local-notifications.git#moodle", | ||||
|     "cordova-plugin-media-capture": "^3.0.2", | ||||
|     "cordova-plugin-network-information": "^2.0.1", | ||||
|     "cordova-plugin-screen-orientation": "^3.0.1", | ||||
| @ -111,7 +111,7 @@ | ||||
|     "moment": "^2.22.2", | ||||
|     "nl.kingsquare.cordova.background-audio": "^1.0.1", | ||||
|     "phonegap-plugin-multidex": "^1.0.0", | ||||
|     "phonegap-plugin-push": "git+https://github.com/moodlemobile/phonegap-plugin-push.git#moodle-v2", | ||||
|     "phonegap-plugin-push": "git+https://github.com/moodlemobile/phonegap-plugin-push.git#moodle-v3", | ||||
|     "promise.prototype.finally": "^3.1.0", | ||||
|     "rxjs": "^5.5.11", | ||||
|     "sw-toolbox": "^3.6.0", | ||||
|  | ||||
| @ -318,12 +318,14 @@ export class CorePushNotificationsProvider { | ||||
|                 // If the app is in foreground when the notification is received, it's not shown. Let's show it ourselves.
 | ||||
|                 if (this.localNotificationsProvider.isAvailable()) { | ||||
|                     const localNotif: ILocalNotification = { | ||||
|                             id: 1, | ||||
|                             id: data.notId || 1, | ||||
|                             data: data, | ||||
|                             title: '', | ||||
|                             text: '' | ||||
|                             text: '', | ||||
|                             channel: 'PushPluginChannel' | ||||
|                         }, | ||||
|                         promises = []; | ||||
|                         promises = [], | ||||
|                         extraFeatures = this.utils.isTrueOrOne(data.extrafeatures); | ||||
| 
 | ||||
|                     // Apply formatText to title and message.
 | ||||
|                     promises.push(this.textUtils.formatText(notification.title, true, true).then((formattedTitle) => { | ||||
| @ -332,14 +334,33 @@ export class CorePushNotificationsProvider { | ||||
|                         localNotif.title = notification.title; | ||||
|                     })); | ||||
| 
 | ||||
|                     promises.push(this.textUtils.formatText(notification.message, true, true).then((formattedMessage) => { | ||||
|                         localNotif.text = formattedMessage; | ||||
|                     }).catch(() => { | ||||
|                         localNotif.text = notification.message; | ||||
|                     promises.push(this.textUtils.formatText(notification.message, true, true).catch(() => { | ||||
|                         // Error formatting, use the original message.
 | ||||
|                         return notification.message; | ||||
|                     }).then((formattedMessage) => { | ||||
|                         if (extraFeatures && this.utils.isFalseOrZero(data.notif)) { | ||||
|                             // It's a message, use messaging style. Ionic Native doesn't specify this option.
 | ||||
|                             (<any> localNotif).text = [ | ||||
|                                 { | ||||
|                                     message: formattedMessage, | ||||
|                                     person: data.conversationtype == 2 ? data.userfromfullname : '' | ||||
|                                 } | ||||
|                             ]; | ||||
|                         } else { | ||||
|                             localNotif.text = formattedMessage; | ||||
|                         } | ||||
|                     })); | ||||
| 
 | ||||
|                     if (extraFeatures) { | ||||
|                         // Use a different icon if needed.
 | ||||
|                         localNotif.icon = notification.image; | ||||
|                         // This feature isn't supported by the official plugin, we use a fork.
 | ||||
|                         (<any> localNotif).iconType = data['image-type']; | ||||
|                     } | ||||
| 
 | ||||
|                     Promise.all(promises).then(() => { | ||||
|                         this.localNotificationsProvider.schedule(localNotif, CorePushNotificationsProvider.COMPONENT, data.site); | ||||
|                         this.localNotificationsProvider.schedule(localNotif, CorePushNotificationsProvider.COMPONENT, data.site, | ||||
|                                 true); | ||||
|                     }); | ||||
|                 } | ||||
| 
 | ||||
|  | ||||
| @ -470,10 +470,19 @@ export class CoreLocalNotificationsProvider { | ||||
|      *                                          be unique inside its component and site. | ||||
|      * @param {string} component Component triggering the notification. It is used to generate unique IDs. | ||||
|      * @param {string} siteId Site ID. | ||||
|      * @param {boolean} [alreadyUnique] Whether the ID is already unique. | ||||
|      * @return {Promise<any>} Promise resolved when the notification is scheduled. | ||||
|      */ | ||||
|     schedule(notification: ILocalNotification, component: string, siteId: string): Promise<any> { | ||||
|         return this.getUniqueNotificationId(notification.id, component, siteId).then((uniqueId) => { | ||||
|     schedule(notification: ILocalNotification, component: string, siteId: string, alreadyUnique?: boolean): Promise<any> { | ||||
|         let promise; | ||||
| 
 | ||||
|         if (alreadyUnique) { | ||||
|             promise = Promise.resolve(notification.id); | ||||
|         } else { | ||||
|             promise = this.getUniqueNotificationId(notification.id, component, siteId); | ||||
|         } | ||||
| 
 | ||||
|         return promise.then((uniqueId) => { | ||||
|             notification.id = uniqueId; | ||||
|             notification.data = notification.data || {}; | ||||
|             notification.data.component = component; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user