2
0
mirror of synced 2025-01-23 04:39:49 +00:00

406 Commits

Author SHA1 Message Date
Michael Diarmid
c291623af3
Merge pull request #1193 from caseyt/android-dynamic-config
Allow Android apps to use initializeApp() to configure firebase database
2018-06-25 16:59:29 +01:00
ifsnow
cbb35a0223 [Android] Fix setDefaults in Notifications. 2018-06-21 15:34:30 +09:00
Case Taintor
3652a05848 adds support for getToken(string,string) and deleteToken(string,string) to iid 2018-06-17 20:32:38 +02:00
Chris Bianca
69b2921ec2
Merge pull request #1164 from geriux/master
[Android] Support for areNotificationsEnabled
2018-06-17 16:27:03 +01:00
Chris Bianca
a32cb27c43 [notifications][android] Rename variable 2018-06-17 16:19:55 +01:00
Chris Bianca
fbc72dc2e3
Merge pull request #1221 from aMarCruz/drawable-resources
Adds support for drawable resources to AndroidNotification
2018-06-17 16:16:54 +01:00
Chris Bianca
dae0645006 [android] Update to latest version of android libs; Fix compilation issues 2018-06-17 15:59:47 +01:00
aMarCruz
b092ad1cd2 Adds support for drawable resources to AndroidNotification 2018-06-16 16:51:53 -05:00
Casey Tickes
796f50fc5b Updated RNFirebaseDatabase.java to use appName if provided 2018-06-08 10:55:53 -07:00
Chris Bianca
2a083f7deb [android][notifications] Fix for #1167 - progress bar not working 2018-06-03 17:32:40 +04:00
Gerardo Pacheco
d5e4808061 [android][messaging] Support for hasPermission using areNotificationsEnabled 2018-05-31 16:31:27 +02:00
Jude Fernandes
6e095be2bf
Resolve display notification promise
Once the notification is created the promise was not being resolved so in a situation where the user is waiting on the promise to complete, they would not get a callback and in case a user used async/await this would cause the app to get stuck at that point.
2018-05-22 01:20:52 +05:30
Chris Bianca
88b1cad8c4 [android][notifications] Change actions runInBackground to use showUserInterface instead 2018-05-18 08:26:16 +01:00
Chris Bianca
1f814d4cab [android][firestore] Ensure settings are preserved if settings is called multiple times 2018-05-18 07:58:32 +01:00
Chris Bianca
42e7fb2e5d [ios] Firebase iOS v5 support 2018-05-16 17:22:47 +01:00
Chris Bianca
34c0878098 [auth] Support email link in checkActionCode 2018-05-16 12:41:48 +01:00
Dariusz Luksza
17f7f39dac Implement handling of Android actions in background
There are some cases when local notification action should be handled in
background eg. snoozing the reminder. In case of it launching app UI is
not necessary and would be confusing for the end user.

Therefore there should be a way to handle local notification action in
background.

For this reason new property 'runInBackground' was added to the
AndroidAction class and TypeScript type.

Also new broadcast receiver and service were implemented to handle
properly background actions.

In order to run particular action in background API consumer need to set its
'runInBackground' property to 'true', eg:

  ...
  .android.addAction(new firebase.notifications.Android.Action("snooze",
  "ic_snooze", "Snooze").setRunInBackground(true))
  ...

Then, there are two cases that API consumer needs to handle.

First when app is in the foreground, standard notification and
notification action code path will be executed. This mean, that:
 * onNotification() listener will be called (which should call
 displayNotification(), in order to show it to the user),
 * onNotificationOpen() listener will be called after the action is
 tapped by the user

Secondly, when application is in background or it is not running new
'RNFirebaseBackgroundNotificationAction' handler will be called. To
properly handle this case API consumer should create a background
asynchronous handler:

  const handleAsyncTask = async (notificationOpen: NotifficationOpen) => {
    if (notificationOpen && notificationOpen.notification) {
      const action = notificationOpen.action;
      const notificationId = notificationOpen.notification.notificationId;
      if (action === "snooze") {
        console.log("Reschedule notification for later time", notificationId);
      } else {
        console.log("unsupported action", action);
      }
      // hide the notification
      firebase.notifications().removeDeliveredNotification(notificationId);
    }
  }

Next hander should be registered to headless handler:

  AppRegistry.registerHeadlessTask('RNFirebaseBackgroundNotificationAction', () => handleAsyncTask);

Finally AndroidManifest.xml file must be modified, to include receiver
and service definition:

  <receiver
      android:name="io.invertase.firebase.notifications.RNFirebaseBackgroundNotificationActionReceiver"
      android:exported="true">
    <intent-filter>
      <action android:name="io.invertase.firebase.notifications.BackgroundAction"/>
    </intent-filter>
  </receiver>
  <service android:name="io.invertase.firebase.notifications.RNFirebaseBackgroundNotificationActionsService"/>

Now when ever 'Snooze' action is pressed it will launch
'handleAsyncTask' function in the background or onNotificationOpen()
when app is in foreground. And reschedule the notification
for the later time.
2018-05-16 08:20:24 +02:00
Pranjal Jain
4efb0c4dcf fix(notifications): Resolve promise on after notification is cancelled 2018-05-15 01:57:03 +05:30
Dariusz Luksza
57901cd29a Add Android API to delete channel and channel group 2018-05-14 09:24:44 +02:00
Salakar
4a6f12ec59 [android][auth] add signInWithEmailLink native method 2018-05-13 00:36:22 +01:00
Salakar
15992f3ba9 [android][auth] add sendSignInLinkToEmail native method 2018-05-12 23:13:54 +01:00
Salakar
f81e50ccb8 [android][auth] add emailLink support for internal getCredentialForProvider util 2018-05-12 22:58:35 +01:00
Salakar
cf25ba23e5 [both][auth] Deprecated firebase.auth().fetchProvidersForEmail in favor of firebase.auth().fetchSignInMethodsForEmail() 2018-05-12 22:51:42 +01:00
Salakar
efc73163a5 [auth][android] import cleanup 2018-05-12 22:16:20 +01:00
Salakar
a064d7dd2a [auth][android] update getJSError to handle 'INVALID_IDENTIFIER' - return from fetchSignInMethodsForEmail for example if email is invalid (not a standard auth exception, it's a grpc one it seems) 2018-05-12 22:15:23 +01:00
Salakar
c185b3b060 [auth][android] update getJSError util regex to allow extracting codes from http errors - fixes #934 2018-05-12 22:11:50 +01:00
Salakar
f13a2b5f9c [auth][android] replace deprecated task fetchProvidersForEmail with fetchSignInMethodsForEmail task + misc linting and legacy utils cleanup 2018-05-12 22:08:11 +01:00
Chris Bianca
6848044f13
Merge pull request #1073 from dluksza/notification-schedule-classcastexception
Fix ClassCastException while parsing fireDate
2018-05-11 14:26:46 +01:00
Dariusz Luksza
dbc5a2d54e Fix ClassCastException while parsing fireDate
ClassCastException was thrown on Android 8.1 while trying to schedule
local notification. Use try-catch approach instead of relaying on the
default parse value.
2018-05-11 14:26:58 +02:00
arnabkund
175c579da3 [Android] Fix a bug with Android Invites invitationMap email keys 2018-05-11 15:03:01 +05:30
Chris Bianca
25506479d3 [firestore][android] Add support for firestore v16 2018-05-08 15:36:49 +01:00
David Gruseck
89806d97f7 [Android] Add the ability to remove notifications based on the tag 2018-05-07 17:35:10 +02:00
Salakar
73d915f192 [android][utils] add java.lang.Integer support for mapPutValue 2018-05-06 13:49:49 +01:00
Salakar
a767558f76 [functions][android] add null check to logging 2018-05-06 13:08:33 +01:00
Salakar
e5233c9af3 Merge branch 'master' of https://github.com/invertase/react-native-firebase into functions 2018-05-06 00:55:37 +01:00
Salakar
3306d92f2d [android][utils] refactor legacy utils to use react natives own conversion utilities for performance 2018-05-06 00:51:54 +01:00
Salakar
d5abd6a304 [android][functions] finalise + cleanup 2018-05-06 00:50:54 +01:00
Salakar
368b3ad068 [functions][android][js] implementation - wip 2018-05-04 16:33:59 +01:00
Chris Bianca
3625e63024 [notifications][android] Run display notifications on a separate thread #996 2018-05-04 13:42:20 +01:00
Salakar
912335062a [firestore][android] implement Blob support 2018-05-03 20:56:55 +01:00
Liam Heneghan
d193c6b688 + Fix Android rescheduled notifications firing immediately 2018-04-30 14:48:13 +12:00
Chris Bianca
7614f5b7e4 [android][notifications] Fix NPE when rescheduling notifications #1013 2018-04-24 17:37:16 +01:00
Salakar
8b90b5a7b3 [android][notifications] misc linting 2018-04-22 15:12:49 +01:00
Gilad Novik
89c6636434
Allow passing null as a sound
As per this answer: https://stackoverflow.com/a/46634508/306764
2018-04-22 14:44:32 +03:00
Salakar
e2be5d678f [android][database] Fix for #1004 2018-04-21 23:27:35 +01:00
mike castleman
eb75f78980 allow root project to specify dependency versions 2018-04-21 13:10:37 -04:00
Gilad Novik
15299429fe
allow using ringtones from RingtoneManager
when allowing users to pick a sound from RingtoneManager, RNFirebaseNotification should detect we are passing a Uri instead of trying to load this file from our bundle.
2018-04-16 19:38:32 +03:00
Chris Bianca
673855c510 [android] Update to use google() path 2018-04-13 12:12:25 +01:00
Chris Bianca
b0abf23c6d [firestore] Add support for settings 2018-04-13 09:58:53 +01:00
Chris Bianca
1922a25198 [firestore] Add setLogLevel support 2018-04-13 08:41:57 +01:00